GCC 4.6.0
Linux
cmake 2.8
我正在使用cmake生成我的make文件。但是,在我的network_imp.c
文件中,我需要做一些线程。所以我已经包含了头文件#include <pthread.h>
,我正在使用pthread_create()
函数
如何告诉cmake使用此标头pthread.h和共享库-lpthread?
我考虑过使用find_package,但我认为我没有正确使用它。这是我的CMakeLists.txt文件。
find_package(pthread)
add_library(network SHARED network_imp.c)
我尝试制作的错误是:
undefined reference to pthread_create
非常感谢任何建议,
答案 0 :(得分:3)
通常,您应该使用target_link_libraries
cmake命令将可执行文件与其他库链接。 find_package
命令用于设置特殊的cmake变量,包含例如要链接的实际库。
要使用pthread
,您应该使用find_package(Threads)
。
here是您特定问题的答案。