gcc编译mtserver静的にリンクされたアプリケーションで「dlopen」を使用するには、実行時に必要です

mtserverをコンパイルします

433通常の
arm-none-linux-gnueabi-gcc-static mtserver.c mtsocket.c current.c ini.c dcmscomm.c public.c sqlite3.c cjson.c config.c db.c dbcd.c dcms01dev.c power .C common.c -Wall -g -lrt -ldl -lpthread -march = ARMV4T -lm -o -liconv mtserver
が、アラーム:/tmp/ccZGgmHf.o:unixDlOpen機能で`「:
/ホーム/ LGL /デスクトップ/ DalianGatewayプロジェクトソフトウェアコードドキュメントmtserverZhang Chuquan / mtserver / program / sqlite3.c:35228:警告:静的にリンクされたアプリケーションで「dlopen」を使用するには、実行時に、リンクに使用されるglibcバージョンの共有ライブラリが必要です。

-staticなしで実行することもできます。上記を促さないでください。

去掉-liconv也述
arm-none-linux-gnueabi-gcc-static mtserver.c mtsocket.c current.c ini.c dcmscomm.c public.c sqlite3.c cjson.c config.c db.c dbcd.c dcms01dev .c power.c common.c -Wall -g -lrt -ldl -lpthread -march = armv4t -lm -o mtserver

-march = armv4tを削除し、正常にコンパイルし、エラーを実行します不正な命令

看看gcc、喜
gcc -static -o mtserver mtsocket.c current.c ini.c dcmscomm.c public.c sqlite3.c cjson.c config.c db.c dbcd.c dcms01dev.c power.c common.c mtserver.c -lm -lrt -ldl -lpthread

おすすめ

転載: blog.csdn.net/chenhao0568/article/details/107989624