我正在尝试从退出 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
PS:MY_LIB.so 是软链接
当我转到 main .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 位机器来编译程序。
任何人都可以给出任何其他错误的可能性以及如何解决这个错误。