在Windows上,我正在使用CodeSourcery的交叉编译器套件为ARM / Linux交叉编译程序。我使用MinGW MSYS作为我的命令解释器,通常它会破坏我的路径和路径名。例如,要构建程序,我调用
arm-none-linux-gnueabi-gcc.exe -Wall -g \
-Wl,--dynamic-linker=/usr/lib/myrpath/ld-linux.so.3 \
-Wl,-rpath=/usr/lib/myrpath \
-I../targetsysroot/usr/include \
myprogram.c -o myprogram
当然,我想/usr/lib/myrpath
将逐字记录插入myprogram
可执行文件中-我要编译的ARM Linux目标不使用MinGW或MSYS。但是,最终结果如下:
...
0x0000000f (RPATH) Library rpath: [C:/MinGW/msys/1.0/lib/myrpath]
...
不完全是我想要的。如果直接在cmd.exe命令行上调用GCC,则会在可执行文件中获得正确的rpath。如果我在MSYS命令行上调用GCC,则会得到混乱的rpath。如果我使用从cmd.exe命令行使用make运行的Makefile调用GCC,我仍然会得到错误的rpath(!)
有什么想法可以关闭这种令人讨厌的行为吗?