在使用 cmake 来编译项目时, 明明在 CMAKE_CXX_FLAGS
项中设置了 -lpthread
项目, 在运行生成 makefile 时确实也看到了有 -lpthread
, 但还是报错: 对‘pthread_create’未定义的引用
, 简直是日了狗了 …
后来 google 到了答案, 如果是 cmake 项目需要修改 Cmakefile.txt, 增加以下内容
find_package(Threads)
target_link_libraries (${PROJECT_NAME} ${CMAKE_THREAD_LIBS_INIT})
果然, 加上后就解决问题了,makefile, 只是把 -lpthread
移到了最后, 如果只是动 CMAKE_CXX_FLAGS
项-lpthread
是紧根着 g ++ 后, 也许这样不起作用 ….
正文完