gpt4 book ai didi

C++ 使用库进行编译

转载 作者:太空宇宙 更新时间:2023-11-04 03:58:31 25 4
gpt4 key购买 nike

我正在Linux中的C++应用程序中工作,基本上我想做的是这个,我有两个.cpp文件,其中一个是使用线程的main.cpp。我的问题是我尝试制作这样的可执行文件: g++ -c main.cpp -> I get main.o
g++ -c second.cpp -> I get second.o
g++ -o executable main.o second.o
-> 我得到:2ficheros.cpp:(.text+0xa4): 对 `pthread_create' 的 undefined reference

所以我想我的错误是因为我必须以相同的方式关联 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++”,而是使用符号链接(symbolic link)c++。在某些系统上,这可能是 clang(在 debian 上安装 clang apt install clang)。

关于C++ 使用库进行编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23887703/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com