]> sigrok.org Git - libsigrok.git/commitdiff
cxx: Fix a linking issue.
authorUwe Hermann <redacted>
Mon, 26 Jan 2015 14:26:15 +0000 (15:26 +0100)
committerUwe Hermann <redacted>
Mon, 26 Jan 2015 14:31:27 +0000 (15:31 +0100)
Fix "undefined reference to `sigrok::EnumValue<sigrok::LogLevel,
sr_loglevel>::_values'", which happens at least when using clang(++),
e.g. on Linux, Mac OS X, or FreeBSD.

This fixes bug #534.

Thanks to Uffe Jakobsen and Martin Ling for reporting and investigating!

bindings/cxx/enums.py

index 53bd000d7f8b564f8cc9465f1a2f8cc08134e9b5..aed42120c5151ddb06387261e8f19eec36bd30bf 100644 (file)
@@ -138,7 +138,7 @@ for enum, (classname, classbrief) in classes.items():
             file=code)
 
     # Define map of enum values to constants
-    print('template<> const std::map<const enum %s, const %s * const> EnumValue<%s, enum %s>::_values = {' % (
+    print('template<> const SR_API std::map<const enum %s, const %s * const> EnumValue<%s, enum %s>::_values = {' % (
         enum_name, classname, classname, enum_name), file=code)
     for name, trimmed_name in zip(member_names, trimmed_names):
         print('\t{%s, %s::%s},' % (name, classname, trimmed_name), file=code)