我编辑了我的CMake脚本,将libcurl与Linux上的C++应用程序链接起来。除了将libcurl添加到目标链接库之外,我还设置了libcurl标志DCURL_STATICLIB。什么是确定的方法来检查这个链接是静态的,而不是动态的?
DCURL_STATICLIB
p5fdfcr11#
什么是确定的方法来检查这个链接是静态的,而不是动态的?在生成的可执行文件上运行ldd程序。这将为您提供一个动态链接到它的所有共享库的列表。请验证libcurl.so不在列表中。
ldd
libcurl.so
ldd my_executable
使用grep来过滤掉其他共享库可能很有用:
grep
ldd my_executable | grep libcurl
,但是因为当libcurl确实没有动态链接到可执行文件时,它不会产生任何输出,所以未过滤的表单至少对于确认ldd实际上工作是有用的。
libcurl
1条答案
按热度按时间p5fdfcr11#
什么是确定的方法来检查这个链接是静态的,而不是动态的?
在生成的可执行文件上运行
ldd
程序。这将为您提供一个动态链接到它的所有共享库的列表。请验证libcurl.so
不在列表中。使用
grep
来过滤掉其他共享库可能很有用:,但是因为当
libcurl
确实没有动态链接到可执行文件时,它不会产生任何输出,所以未过滤的表单至少对于确认ldd
实际上工作是有用的。