Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/130.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 编译对象后链接共享库时出错_C++_Gcc_Shared Libraries - Fatal编程技术网

C++ 编译对象后链接共享库时出错

C++ 编译对象后链接共享库时出错,c++,gcc,shared-libraries,C++,Gcc,Shared Libraries,我编译了对象文件,然后尝试编译可执行文件,但失败的原因是“theLib”中有未定义的函数引用 (迄今为止的工作) (错误:libtheLib.so:未定义对“某些函数”的引用) 我到处查看答案,他们都建议将-ltheLib部分移到依赖项之后(我这样做了)。但它仍然不起作用。真正让我感到奇怪的是,同一个库在不同的目录中编译一个示例时,效果很好 图书馆在C中。这会不会导致编译C++的混乱?或者我只是在编译.o文件时遗漏了什么?结果表明,库依赖于我必须在自己的源代码中实现和提供的函数。我从来不知道有些

我编译了对象文件,然后尝试编译可执行文件,但失败的原因是“theLib”中有未定义的函数引用

(迄今为止的工作)

(错误:
libtheLib.so:未定义对“某些函数”的引用

我到处查看答案,他们都建议将
-ltheLib
部分移到依赖项之后(我这样做了)。但它仍然不起作用。真正让我感到奇怪的是,同一个库在不同的目录中编译一个示例时,效果很好


<>图书馆在C中。这会不会导致编译C++的混乱?或者我只是在编译
.o
文件时遗漏了什么?

结果表明,库依赖于我必须在自己的源代码中实现和提供的函数。我从来不知道有些图书馆会这样做,但我从中吸取了教训。一旦我实现了导致错误的功能并添加了那些源文件,它就起作用了。

你使用<代码>外部> C >代码>函数>代码> > TILB < /C> >你在C++代码中使用吗?库头确实包括这个,是的。您可能需要找出lib的依赖项,并将它们添加到链接器命令行中。
g++ -I./theLib/src -c -o obj/main.o src/main.cpp
g++ -L./theLib -Wl,-rpath=./theLib obj/main.o -ltheLib -o exe