CMake 链接库未显示在 VisualStudio 生成的项目中



我正在使用cmake为Windows生成一个VisualStudio项目,而提供的链接函数似乎无法在生成的VisualStudio项目上工作。

生成的项目是一个库,它依赖于另一个库作为依赖项。

项目的生成工作正常,但无论我尝试什么,"附加依赖项"条目下都不会出现任何内容。

在声明"add_library(MyLib("之前和之后,我尝试同时使用"link_libraries"one_answers"target_link_libraries"我试过这个例子:

project( MyLib )
...
add_library( MyLib ${source_list} )
...
target_link_libraries ( MyLib ${SOME_LIB_PATH} )
target_link_libraries ( MyLib "${SOME_LIB_PATH}" )
target_link_libraries ( MyLib W:/work/Project/MyLib/ )
target_link_libraries ( MyLib "W:/work/Project/MyLib/" )
target_link_libraries ( MyLib W:/work/Project/MyLib/MyLib.lib )
target_link_libraries ( MyLib "W:/work/Project/MyLib/MyLib.lib" )
target_link_libraries ( MyLib banane )
target_link_libraries ( MyLib whatever )
target_link_libraries ( MyLib "test" )
...
include_directories(
"Include/"
${SOME_LIB_INCLUDE_PATH}
)

Include目录正确显示在项目属性中。那么这是一个bug还是我遗漏了什么:(?

Scheff通过回忆静态库实际上并没有与其他潜在的静态库链接,为我指明了正确的方向。

尽管VisualStudio允许在其UI中指定静态库依赖性,但它实际上并没有发生,CMake通过实际不将其添加到生成的项目中来显示这一点;这就是令人困惑的部分。

一个静态库可以很好地编译,而无需明确地链接到另一个静态的库依赖性,即使它使用了来自它的代码,只要最终的可执行文件链接到所述库及其库依赖性(如果我没有错的话(。

因此,感谢@Scheff的评论!

相关内容

最新更新