我刚刚通过在 MSYS2/MINGW64 上编译源代码编译了一个交叉 gdb。但是当我运行 gdb 时,它会抛出一个错误并抱怨它无法启动,因为它需要libexpat-1.dll
.
这就是我编译 gdb 所做的:
- 得到源代码
git clone git://sourceware.org/git/binutils-gdb.git
在不同的目录中:
export TARGET=x86_64-amd-linux-gnu
export PREFIX=/tmp/myToolChain
binutils/gdb/path/configure --with-python=/mingw64/bin/python --target=${TARGET} --prefix=${PREFIX} --disable-shared --enable-static
和
make && make install
它编译没有任何问题。但是我不知道为什么它需要这些库,而我已经静态编译它并禁用了共享库。
我也尝试libexpat
在编译期间不使用,但随后它抱怨另一个库libiconv-2.dll
。
我搞砸了什么?
编辑:我没有C:\msys64\mingw64\bin
在我的道路上。添加它后,我不再收到以前的错误。
但是我仍然有这个问题,为什么虽然我静态链接库,但最终的二进制文件仍然需要一些库?