Cha*_*our 17 c++ compiler-errors makefile ubuntu-15.04
我刚刚拉了一个 git 存储库,我和我的朋友正在其中开发一个应用程序。当我运行make我面临这个错误:
对符号“pthread_create@@GLIBC_2.2.5”/lib/x86_64-linux-gnu/libpthread.so.0 的未定义引用:添加符号时出错:命令行中缺少 DSO collect2:错误:ld 返回 1 退出状态 Makefile:182:recipe对于目标 'bin/release/ns' 失败 make[1]:* [bin/release/ns] 错误 1 Makefile:133:目标 'release' 的配方失败 make:* [release] 错误 2
我的朋友拉了同一个分支,他运行它没有任何问题。
你能给我一些关于修复的提示吗?详细的答案将不胜感激。
Moh*_*d f 22
我一直在研究多平台游戏引擎,但我只在 Linux 上遇到过同样的问题。如果您正在使用 cmake,请将以下内容添加到您的 cmake 文件中:
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pthread")
Run Code Online (Sandbox Code Playgroud)
如果您不使用 cmake,则需要手动为编译器添加此标志。
在 linux 系统中使用线程的完整 cmake 必须包含以下命令:
set(CMAKE_THREAD_LIBS_INIT "-lpthread")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pthread")
set(CMAKE_HAVE_THREADS_LIBRARY 1)
set(CMAKE_USE_WIN32_THREADS_INIT 0)
set(CMAKE_USE_PTHREADS_INIT 1)
set(THREADS_PREFER_PTHREAD_FLAG ON)
Run Code Online (Sandbox Code Playgroud)
注意:此修复程序也适用于 Mac-O,但有一个区别。您不需要将 -pthread 作为编译器标志传递
归档时间: |
|
查看次数: |
31173 次 |
最近记录: |