在搜索-lMY_LIB时跳过不兼容的lib_share.so无法找到-lMY_LIB

时间:2013-10-25 14:36:52

标签: c makefile static-libraries symlink dynamic-library

我正在尝试从退出MY_LIB.so文件构建lib_share.so文件。    MY_LIB.so文件位于my_path中。

g++ -shared -o lib_share.so -L/my_path -lMYLIB 

当我跑步时,它给我一个错误就像休耕一样

bin/ld: skipping incompatible /home/folder/lMY_LIB.so 
搜索-lMY_LIB时

/home/../../bin/ld: cannot find -lMY_LIB

P.S.:MY_LIB.so是软链接

当我进入main .so文件并且我在主要的搜索MY_LIB时,它正在给出如下。

objdump -p MY_LIB.so.1.0.1 | grep 
MY_LIB.so.1.0.1:     file format **elf32-big**
  SONAME               MY_LIB.so.1

库的文件格式是32位,我使用64位机器进行编译     (g ++ -shared -o lib_share.so -L / my_path -lMYLIB)

任何人都可以帮助理解为什么我无法编译(g ++ -shared -o lib_share.so -L / my_path -lMYLIB),即使MY_LIB实际存在于其目录

根据我的谷歌搜索,这是因为该库是32位,我使用64位机器来编译程序。

任何人都可以提供任何其他错误的可能性以及如何解决此错误。

1 个答案:

答案 0 :(得分:1)

尝试使用-m32的{​​{1}}标志以32位编译整个程序。