- 主题:我如何知道程序link的是哪个库
如题
linux上面,我自己build的一个wxWidgets,然后IDE是codeblock,编译器是g++
make install到了/opt/wxWidgets3.0.5
本来高高兴兴demo工程link通过了
但是后来发现,如果我把环境变量都撤掉,codeblocks里面的的全局变量也撤掉,也能link上。。。。
而且我在cb里面的C++文件里面找到一个include <wx/font.h>跳转,跳转到usr/include下面去了,而不是/opt下面那个
因此我怀疑是我之前不知道什么时候apt装过了wxWidgets,导致根本都用我现在build的
问题
1. 我怎么知道link的lib是哪个lib?
2. 我怎么知道那个lib的位置?
3. 我怎么能指定到我现在的opt下面的东东来?(环境变量和cb的global variable我都设过了)
--
FROM 124.126.140.*
gcc/g++可以给ld传递参数-Wl,--verbose,这个参数可以打印出详细的找库过程
例如:
g++ -Wl,--verbose 1.cpp
make也是有verbose选项的,打印出它的详细依赖查找过程、调用的shell命令。
--
修改:z16166 FROM 222.131.206.*
FROM 222.131.206.*
试试 ldd 工具吧
【 在 lobachevsky 的大作中提到: 】
: 如题
: linux上面,我自己build的一个wxWidgets,然后IDE是codeblock,编译器是g++
: make install到了/opt/wxWidgets3.0.5
: ...................
--
FROM 223.166.224.*