将libstdc ++和其他函数组合到一个库中

时间:2017-07-19 19:21:57

标签: c++ libstdc++

我想要做的是拥有一个静态链接libstdc ++的动态库(lib_utils.so),还包括其他实用程序函数(由我创建)。 然后我希望其他二进制文件使用这个库而不是libstdc ++。

似乎很愚蠢但我无法将lib_utils.so和libstdc ++。so.6部署到我的客户手中,我尝试将它们合并到一个单独的库中。我还想避免使用libstdc ++进行静态链接,因为我有5个需要libstdc ++的二进制文件。

这可能吗?

谢谢

1 个答案:

答案 0 :(得分:0)

我设法做到了:

cmbUnits.DisplayMemberPath = "Un";  

然后我将这个库加载到一个简单的应用程序中,这个应用程序不再需要libstdc ++,因为它加载我的自定义库(现在相当大,2.1MB)

g++ -std=c++14 -Wl,-whole-archive /usr/lib/gcc/x86_64-linux-gnu/5/libstdc++.a -Wl,-no-whole-archive -shared -fPIC lib.cpp -o libviata.so