ys memos

Blog

C++プロジェクトでpthread関係のリンクエラーへの対処


c++

2020/09/21


cmakepthreadリンクエラーを解消する方法

/usr/bin/ld: CMakeFiles/project.dir/main.cpp.o: undefined reference to symbol 'pthread_join@@GLIBC_2.2.5'
//lib/x86_64-linux-gnu/libpthread.so.0: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status

g++を使っている場合,コンパイルオプションに-pthreadを追加すれば直るはず。

CMakeLists.txtを使っている場合は、以下を追記する。

set(THREADS_PREFER_PTHREAD_FLAG ON)
find_package(Threads REQUIRED)
target_link_libraries(project PUBLIC "-pthread")

https://stackoverflow.com/questions/1620918cmake-and-libpthread

関連タグを探す