C++ 从现有对象文件创建共享库

C++ 从现有对象文件创建共享库,c++,makefile,shared-libraries,C++,Makefile,Shared Libraries,我的IDE中有一个项目。我需要创建一个共享的库,以便在扩展中使用。我不想使用共享库设置复制此项目。是否有任何方法可以使用现有项目中的对象文件(.o)构建共享库?据我所知,我可以为此编写一个makefile。g++-shared-fPIC-o myshared.so*.o我假设您在某种Unix上,可能正在使用GNU工具链。在这种情况下,要创建适当的共享库,您需要使用位置无关的代码标志(-fpic或-fpic)编译代码,然后才能创建共享库。除非您的.o文件已经使用这些标志编译,否则您很可能不会得到一

我的IDE中有一个项目。我需要创建一个共享的库,以便在扩展中使用。我不想使用共享库设置复制此项目。是否有任何方法可以使用现有项目中的对象文件(.o)构建共享库?据我所知,我可以为此编写一个makefile。

g++-shared-fPIC-o myshared.so*.o
我假设您在某种Unix上,可能正在使用GNU工具链。在这种情况下,要创建适当的共享库,您需要使用位置无关的代码标志(-fpic或-fpic)编译代码,然后才能创建共享库。除非您的.o文件已经使用这些标志编译,否则您很可能不会得到一个工作的共享库


如果它们已经被编译为位置无关的代码,那么通常的
g++-shared…
应该可以做到这一点。

@pajton-猜猜谁以前被这个问题弄糊涂了:)。为什么要在同一行中使用-fPIC和-shared?