我正在使用cmake构建一个cpp库。 x86_64 我想要一个共享库,因此我正在使用共享,并且一切正常,没有任何错误,但它仅创建dll文件。我也在使用__declspec(dllexport),所以应该有一个
后来我想将库链接到我的测试程序,但总是收到致命错误LNK1181:无法打开输入文件'.. \ lib \ Release \ MQTTClient.lib'
因为vs没有创建任何lib文件...
有人知道吗?
答案 0 :(得分:0)
您可以使用CMake标志:
CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=True
它应该导出一个.lib文件,其中包含所有功能符号。
有关更多详细信息,请参见官方CMake Documentation
此标志非常有用,尤其是当您必须与第三方打交道时,需要在为Windows构建时将标志传递给CMake。
但是最好显式标记要使用__declspec(dllexport)导出的函数。 我真的不知道你做错了什么
(评论已转换为答案)