要使用 Visual Studio 构建 C 库,请使用 CMake 命令
set(WINDOWS_EXPORT_ALL_SYMBOLS ON)
使我免于在函数声明之前添加__declspec(dllexport)
或;__declspec(dllimport)
只有全局变量才需要显式导入/导出符号。
在 MinGW(阅读:MinGW 或其推荐的替代品 Mingw-w64)下,这不起作用。将应用程序(也是用 MinGW 构建的)链接到我的库失败,直到我在每个函数前面粘贴了导入/导出符号。而长答案https://stackoverflow.com/a/32284832/1017348表明相反:MinGW 下不需要导入/导出符号。这个答案对吗?那么如何摆脱对导入/导出符号的需要呢?