我們知道,直接用 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})