当我试着构建我的样本项目时,面对一个GCC,我发现这三个库(来自主题)需要链接。还发现'-lxxx‘参数的顺序在命令行中很重要。
然而,我正在使用cmake作为一个构建系统,并且可以发现这适用于cmake。
目前,这是:
if (${GCC})
target_link_libraries(${PROJECT_NAME} rt pthread stdc++fs)
endif (${GCC})它对我不起作用,链接器仍然无法从所有引用的libs中找到引用的符号。
有人能从cmake的角度来帮助这个库链接吗?
发布于 2016-05-17 14:30:09
就目前情况而言,您的条件总是错误的(变量不存在AFAIK),因此它中的语句从未被考虑过!
你需要改变:
if(${GCC})至:
if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")或者:
if(CMAKE_COMPILER_IS_GNUCXX)现在检查C++编译器是否为gcc/g++。
https://stackoverflow.com/questions/37278853
复制相似问题