2011-05-17 73 views
-1

比方说,我有lib1.so一样,在创建库:链接这是使用另一个共享库没有rpath的

gcc 1.cpp -o lib1.so -shared 

而且我还有一个图书馆lib2.so以这种方式创建:

gcc 2.cpp -o lib2.so -shared -L. -l1 

但链接到的lib2.so

gcc main.cpp -o main -L. -l2 

给出了一个警告:

warning: lib1.so, needed by lib2.so, not found (try using -rpath or -rpath-link) 

但是AFAIK使用rpath是不鼓励的,因为那么库不能移动到另一个位置。

如何在不指定“lib1.so”和rpath的情况下将“main”与“lib2.so”链接起来?

回答

0

二进制的RPATH标头优先所以即使图书馆没有RPATH头,仍然会发现IF已将其复制到-rpath

提到的目录