Add missing YASM_LIB_DECL declarations.
diff --git a/libyasm/bytecode.h b/libyasm/bytecode.h
index 4e8a801..47cd262 100644
--- a/libyasm/bytecode.h
+++ b/libyasm/bytecode.h
@@ -553,6 +553,7 @@
  * \param len           length of string
  * \return Newly allocated data value.
  */
+YASM_LIB_DECL
 yasm_dataval *yasm_dv_create_string(/*@keep@*/ char *contents, size_t len);
 
 /** Create a new data value from raw bytes data.
@@ -567,6 +568,7 @@
 /** Create a new uninitialized data value.
  * \return Newly allocated data value.
  */
+YASM_LIB_DECL
 yasm_dataval *yasm_dv_create_reserve(void);
 
 #ifndef YASM_DOXYGEN
@@ -578,6 +580,7 @@
  * \param dv    data value
  * \return Value, or null if non-value (e.g. string or raw).
  */
+YASM_LIB_DECL
 yasm_value *yasm_dv_get_value(yasm_dataval *dv);
 
 /** Set multiple field of a data value.
@@ -586,6 +589,7 @@
  * \param dv    data value
  * \param e     multiple (kept, do not free)
  */
+YASM_LIB_DECL
 void yasm_dv_set_multiple(yasm_dataval *dv, /*@keep@*/ yasm_expr *e);
 
 /** Get the data value multiple value as an unsigned long integer.
@@ -593,6 +597,7 @@
  * \param multiple      multiple value (output)
  * \return 1 on error (set with yasm_error_set), 0 on success.
  */
+YASM_LIB_DECL
 int yasm_dv_get_multiple(yasm_dataval *dv, /*@out@*/ unsigned long *multiple);
 
 /** Initialize a list of data values.
diff --git a/libyasm/expr.h b/libyasm/expr.h
index 2b06cd3..0de62df 100644
--- a/libyasm/expr.h
+++ b/libyasm/expr.h
@@ -296,11 +296,13 @@
 /** Return the size of an expression, if the user provided it
  * \param e     expression
  */
+YASM_LIB_DECL
 unsigned int yasm_expr_size(const yasm_expr *e);
 
 /** Return the segment of an expression, if the user provided it
  * \param e     expression
  */
+YASM_LIB_DECL
 const char *yasm_expr_segment(const yasm_expr *e);
 
 /** Traverse over expression tree in order (const version).
diff --git a/libyasm/symrec.h b/libyasm/symrec.h
index 6207158..b1f797c 100644
--- a/libyasm/symrec.h
+++ b/libyasm/symrec.h
@@ -326,24 +326,28 @@
  * \param sym       symbol
  * \param size      size to be set
  */
+YASM_LIB_DECL
 void yasm_symrec_set_size(yasm_symrec *sym, int size);
 
 /** Get the size of a symbol.
  * \param sym       symbol
  * \return size of the symbol, 0 if none specified by the user.
  */
+YASM_LIB_DECL
 int yasm_symrec_get_size(const yasm_symrec *sym);
 
 /** Set the segment of a symbol.
  * \param sym       symbol
  * \param segment   segment to be set
  */
+YASM_LIB_DECL
 void yasm_symrec_set_segment(yasm_symrec *sym, const char *segment);
 
 /** Get the segment of a symbol.
  * \param sym       symbol
  * \return segment of the symbol, NULL if none specified by the user.
  */
+YASM_LIB_DECL
 const char *yasm_symrec_get_segment(const yasm_symrec *sym);
 
 /** Determine if symbol is the "absolute" symbol created by