生成32/64位程序
通用的gcc编译器使用-m32
、-m64
指定生成的二进制格式,如:
gcc -m64 -o demo ./demo.c #生成64位二进制程序
mips不走寻常路,使用的是mabi=32, mabi=64来指定生成的二进制格式,如:
mips-linux-gnu-gcc -mabi=64 -o demo ./demo.c #生成64位二进制程序
说明:可使用mips-linux-gnu-ld查看mips支持的二进制个事,如下:
mips-linux-gnu-ld -o -mabi=64 demo demo.o
mips-linux-gnu-ld: unrecognised emulation mode: abi=64
Supported emulations: elf32btsmip elf32ltsmip elf32btsmipn32 elf64btsmip elf32ltsmipn32 elf64ltsmip
带了-c编译时,-o生成的是.o文件。(毕竟-c只编译生成目标文件,不链接)
问题描述
在ubuntu下面运行某个可执行文件遇到can’t find xxx lib的时候,可以通过export LD_LIBRARY_PATH=xxx来解决,但如果这个可执行文件需要sudo权限时,以上的方法会失效。如何才能修改sudo下面的链接库地址呢?
sudo env LD_LIBRARY_PATH=./:${LD_LIBRARY_PATH} ./demo.exe
https://blog.csdn.net/huangkangying/article/details/106128096