首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GCC6中未定义的对“rt”、“p线程”、“stdc++fs”的引用

GCC6中未定义的对“rt”、“p线程”、“stdc++fs”的引用
EN

Stack Overflow用户
提问于 2016-05-17 14:22:40
回答 1查看 1.1K关注 0票数 2

当我试着构建我的样本项目时,面对一个GCC,我发现这三个库(来自主题)需要链接。还发现'-lxxx‘参数的顺序在命令行中很重要。

然而,我正在使用cmake作为一个构建系统,并且可以发现这适用于cmake。

目前,这是:

代码语言:javascript
复制
if (${GCC})
     target_link_libraries(${PROJECT_NAME} rt pthread stdc++fs)
endif (${GCC})

它对我不起作用,链接器仍然无法从所有引用的libs中找到引用的符号。

有人能从cmake的角度来帮助这个库链接吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-17 14:30:09

就目前情况而言,您的条件总是错误的(变量不存在AFAIK),因此它中的语句从未被考虑过!

你需要改变:

代码语言:javascript
复制
if(${GCC})

至:

代码语言:javascript
复制
if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")

或者:

代码语言:javascript
复制
if(CMAKE_COMPILER_IS_GNUCXX)

现在检查C++编译器是否为gcc/g++。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37278853

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档