C++;使用库编译 我在Linux的C++中工作,基本上我想做的是,我有两个.CPP文件,其中一个是Me.CPP,它使用线程。我的问题是我试图制作一个如下的可执行文件: g++-cmain.cpp->I get main.o g++-c second.cpp->我得到second.o g++-o可执行文件main.o second.o->我得到:2ficheros.cpp:(.text+0xa4):对“pthread\u create”的未定义引用

C++;使用库编译 我在Linux的C++中工作,基本上我想做的是,我有两个.CPP文件,其中一个是Me.CPP,它使用线程。我的问题是我试图制作一个如下的可执行文件: g++-cmain.cpp->I get main.o g++-c second.cpp->我得到second.o g++-o可执行文件main.o second.o->我得到:2ficheros.cpp:(.text+0xa4):对“pthread\u create”的未定义引用,c++,linux,gcc,C++,Linux,Gcc,所以我猜我的错误是因为我必须以同样的方式关联pthread库,但我不知道如何做。我在互联网上搜索,发现我必须这样做:g++-o executable main.o second.o pthread.o,但我不知道它是否正确,我不能看到pthread.o,只能看到pthread.h 抱歉,如果我在没有知识的情况下发言,如果有人可以帮助我,请。您需要链接pthreads支持: c++ main.o second.o -o executable -pthread 是,不带-l。对于其他库(例如数学库

所以我猜我的错误是因为我必须以同样的方式关联pthread库,但我不知道如何做。我在互联网上搜索,发现我必须这样做:
g++-o executable main.o second.o pthread.o
,但我不知道它是否正确,我不能看到pthread.o,只能看到pthread.h


抱歉,如果我在没有知识的情况下发言,如果有人可以帮助我,请。

您需要链接pthreads支持:

c++ main.o second.o -o executable -pthread
是,不带
-l
。对于其他库(例如数学库),请使用以下命令:

c++ main.o second.o -o executable -pthread -lm
如果您在其他目录中有另一个第三方库:

c++ main.o second.o -o executable -pthread -L/opt/coolmolib -lcoolmolib

注意我不是直接使用“g++”,而是一个符号链接,
c++
。在某些系统上,这可能是clang(在debian上安装clang
apt install clang
)。

g++-o executable main.cpp second.cpp-pthread
在所有上述命令中使用
-pthread
选项。非常感谢您的cuco,它工作得非常好!!