我的 IDE 中有一个项目。我需要为它创建一个共享库以用于扩展。我不想使用共享库设置复制该项目。有什么方法可以使用我现有项目中的目标文件 (.o) 构建共享库吗?据我了解,我可以为此编写一个 makefile。
最佳答案
我假设您使用的是某种 Unix,并且可能正在使用 GNU 工具链。在这种情况下,要创建一个合适的共享库,您需要在创建共享库之前使用与位置无关的代码标志(-fpic 或 -fPIC)编译您的代码。除非你的 .o 文件已经用这些标志编译,否则你很可能不会得到一个有效的共享库。
如果它们已经针对位置独立代码进行了编译,通常的 g++ -shared ...
应该可以解决问题。
关于c++ - 从现有目标文件创建共享库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2583770/