繁体   English   中英

如何确认库是静态链接的?

[英]How to confirm a library is linked statically?

我编辑了我的 CMake 脚本,将 libcurl 与我在 Linux 上的 C++ 应用程序链接起来。

除了将 libcurl 添加到我的目标链接库之外,我还设置了 libcurl 标志DCURL_STATICLIB

检查此静态链接而不是动态链接的最终方法是什么?

检查此静态链接而不是动态链接的最终方法是什么?

在生成的可执行文件上运行ldd程序。 这将为您提供动态链接到它的所有共享库的列表。 确认libcurl.so不在列表中。

ldd my_executable

参与grep过滤掉其他共享库可能很有用:

ldd my_executable | grep libcurl

,但是因为当libcurl确实没有动态链接到可执行文件时不会产生 output,所以未过滤的形式至少对于确认ldd确实有效是有用的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM