3 回答
TA贡献1804条经验 获得超2个赞
答案是由SO C ++聊天的一位好心人提供的。
看来此行为是由gcc中的错误引起的。
该错误讨论的最后评论中提供的解决方法确实可以解决该问题:
-Wl,--no-as-needed
TA贡献2021条经验 获得超8个赞
我有更高级的版本(4.8.4而不是4.8.1),并且我测试了以上所有三个答案。事实上:
-pthread 单独工作:
g ++ -std = c ++ 11 -o main -pthread main.cpp
-Wl,--no-as-needed独自一人行不通。
-lpthread独自一人行不通。
-Wl,--no-as-needed并-lpthread 一起工作:
g ++ -std = c ++ 11 -o main -Wl,-无需按需main.cpp -lpthread
我的版本是“ g ++(Ubuntu 4.8.4-2ubuntu1〜14.04.1)4.8.4”。
TA贡献1820条经验 获得超9个赞
已经为qtcreator做出了答案:
LIBS += -pthread
QMAKE_CXXFLAGS += -pthread
QMAKE_CXXFLAGS += -std=c++11
对于控制台g ++:在这里
g++ -c main.cpp -pthread -std=c++11 // generate target object file
g++ main.o -o main.out -pthread -std=c++11 // link to target binary
- 3 回答
- 0 关注
- 697 浏览
添加回答
举报