CMake的进口库行为(CMake imported library behaviour)

2019-07-19 20:04发布

我曾与CMake的一个奇怪的问题。

我进口卷曲到我的项目,所以我为你写我的CMakeLists.txt文件的简单概括。

ADD_LIBRARY(libcurl的SHARED原装进口)

SET_PROPERTY(TARGET libcurl的财产IMPORTED_LOCATION ../lib/libcurl.lib)

当我运行CMake的它生成MS VC ++(也可用于Linux)的项目文件。 然后到项目文件中我发现一个错误的参考卷曲库(libcurl的-NOTFOUND)!

如果我改变我的代码为静态导入:

ADD_LIBRARY(libcurl的静态导入)

SET_PROPERTY(TARGET libcurl的财产IMPORTED_LOCATION ../lib/libcurl.lib)

我找到合适的参考../lib/libcurl.lib。

你有任何想法,为什么出现这种情况?

非常感谢你!

Answer 1:

对于共享库,则IMPORTED_LOCATION必须指向DLL,而不是导入库。 查看文档 。 您可能还需要设置IMPORTED_IMPLIB属性。

顺便说一句,CMake的也有发现包的卷曲; 也许你可以使用?



文章来源: CMake imported library behaviour
标签: c++ c cmake