我们知道,直接用 g++ 编译多线程代码时,可以这样。
gcc -o test test.c -lpthread
但是,如果整个工程是 CMake 构建的,需要怎么做呢?
修改 CMakeFileLists.txt 文件。
假设,要链接的目标叫做 test,只需要简单 2 行代码就好了。
find_package(Threads)
target_link_libraries(test ${CMAKE_THREAD_LIBS_INIT})
我们知道,直接用 g++ 编译多线程代码时,可以这样。
gcc -o test test.c -lpthread
但是,如果整个工程是 CMake 构建的,需要怎么做呢?
修改 CMakeFileLists.txt 文件。
假设,要链接的目标叫做 test,只需要简单 2 行代码就好了。
find_package(Threads)
target_link_libraries(test ${CMAKE_THREAD_LIBS_INIT})