2

MY_LIB.so ファイルの終了から lib_share.so ファイルをビルドしようとしています。MY_LIB.so ファイルは my_path にあります。

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

実行すると、fallowsとしてエラーが発生します

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)

MY_LIB が物理的にディレクトリに存在するにもかかわらず、コンパイルできない理由を理解するのに役立つ人はいますか (g++ -shared -o lib_share.so -L/my_path -lMYLIB)

私のグーグル検索によると、ライブラリが32ビットであり、64ビットマシンを使用してプログラムをコンパイルしているためです。

他のエラーの可能性と、このエラーを解決する方法を教えてください。

4

1 に答える 1