Irf*_*rfy 2 c++ autotools gnu-make libstdc++ c++11
如何正确定位libstdc++.so.*
用于编译 autotools 项目,以便将其与发行版捆绑在一起?
在我们团队切换到 C++11 后,我们需要将新的 libstdc++.so.6 与我们软件的每个发行版捆绑在一起,但是如何正确找到该库?
/lib/gcc/x86_64-pc-cygwin/5.2.0
/usr/lib64
/usr/local/gcc-5.2.0/lib64
我已经尝试过:
install-exec-local:
cp $(shell dirname $(shell which ${CXX}))/../lib64/libstdc++.so.6 ${prefix}/lib
Run Code Online (Sandbox Code Playgroud)
(而不是make dist
,我们make install
进入一个配置的前缀然后捆绑前缀)
这有效,但不适用于 Cygwin,我不确定它是否适用于其他平台,因此我的问题。
有关与软件捆绑的基本原理,请参阅此问题libstdc++.so
。它运作良好。我们还使用dlopen
加载.so
依赖的 s,libstdc++.so
因此静态链接比听起来更难。
唯一的问题是定位libstdc++.so.6
在make dist
时间(或我们的等价物),让我可以cp
它为我们分发的${prefix}/lib
目录,前焦油gzip压缩,并将其提供给客户。理想情况下,我正在寻找类似g++ --print-path-to-libstdc++.so
.
运行软件的目标系统有一个较旧 libstdc++.so
的 .
归档时间: |
|
查看次数: |
1008 次 |
最近记录: |