我是posix线程库的新手,我尝试从一个教程中编译示例代码:
g++ -lpthread agreement.cpp -o agreement
但是我无法编译代码,并得到以下错误信息:
a3q2.cpp:(.text+0x7e): undefined reference to `sem_open' a3q2.cpp:(.text+0xab): undefined reference to `sem_wait' a3q2.cpp:(.text+0x290): undefined reference to `sem_post' a3q2.cpp:(.text+0x2af): undefined reference to `sem_close' a3q2.cpp:(.text+0x2bb): undefined reference to `sem_unlink' collect2: ld returned 1 exit status make: *** [a3q2_exe] Error 1
我知道-lpthread需要编译工作,但是有没有其他的select,我可能需要解决这个问题? 如果不是,我该如何安装“正确的”pthread库?
谢谢你的帮助!
你想要的编译选项-pthread
(如果你真的使用pthreads)。 如果你只是需要这些函数,它们在librt
所以使用-lrt