gcc 编译 mtserver El uso de 'dlopen' en aplicaciones vinculadas estáticamente requiere en tiempo de ejecución

Compilar mtserver

433 normal
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 -liconv -o mtserver
pero una alarma: /tmp/ccZGgmHf.o: unixDlOpen el En función ` ':
/ Home / LGL / escritorio / Dalian Gateway Project Software Code Document mtserver Zhang Chuquan / mtserver / program / sqlite3.c: 35228: advertencia: el uso de 'lopen' en aplicaciones vinculadas estáticamente requiere en tiempo de ejecución las bibliotecas compartidas de la versión glibc utilizada para vincular

También puede funcionar sin -static. No solicite lo anterior.

去掉 -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

Eliminar -march = armv4t, compilar normalmente, ejecutar error Instrucción ilegal

看看 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

Supongo que te gusta

Origin blog.csdn.net/chenhao0568/article/details/107989624
Recomendado
Clasificación