是否有一个等效的__declspec(dllexport)
符号用于从共享库中显式导出函数?由于某些原因我使用的工具链,非类成员的函数不会出现在生成的共享库文件中。
答案 0 :(得分:66)
__attribute__((visibility("default")))
据我所知,并没有相当于__declspec(dllimport)
。
#if defined(_MSC_VER)
// Microsoft
#define EXPORT __declspec(dllexport)
#define IMPORT __declspec(dllimport)
#elif defined(__GNUC__)
// GCC
#define EXPORT __attribute__((visibility("default")))
#define IMPORT
#else
// do nothing and hope for the best?
#define EXPORT
#define IMPORT
#pragma warning Unknown dynamic link import/export semantics.
#endif
答案 1 :(得分:29)
http://gcc.gnu.org/wiki/Visibility
这是一个关于msvc和gcc导出的完整教程。