我试图让ZIMPL使用MINGW64,但我得到了以下错误:ZIMPL跳过不兼容
[email protected] MINGW64 ~/scipoptsuite-3.2.1/zimpl-3.3.3
$ make
-> generating library lib/libzimpl-3.3.3.mingw.x86_64.gnu.opt.a
-> linking bin/zimpl-3.3.3.mingw.x86_64.gnu.normal.opt
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/6.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible lib/libgmp.a when searching for -lgmp
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/6.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible lib\libgmp.a when searching for -lgmp
....
....
....
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/6.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lmsvcrt
collect2.exe: error: ld returned 1 exit status
make: *** [Makefile:170: bin/zimpl-3.3.3.mingw.x86_64.gnu.normal.opt] Error 1
在ZIMPL的README它说:
The most likely reason that you can't compile, is that gmp.h or zlib.h are not in your include path (-I) or that libgmp.a oder libz.a are not in your library path (-L).
但我有这些文件存在分别在C:\ msys64 \ mingw64 \ include和C:\ msys64 \ mingw64 \ lib中。这不是正确的位置吗?
我的问题: - 这个错误是什么意思? - 上述文件的正确位置是什么? - 如何将这些文件包含在正确的包含和库路径中?是--I/mingw64/include和-L/mingw64/lib?
预先感谢您。
谢谢你的回答。 我试着设置'GMP = false',但后来发现错误'ZIMPL需要GMP链接。使用ZIMPL = false或GMP = true。 Stop.'所以我想这不是一个选项... 使用pacman -R mingw-w64-i686-gmp我删除了32位版本的gmp(我安装了32位和64位版本),但仍然没有加工。 我想尝试另一个链接器,但没有找到如何做到这一点? –
您可以通过设置选项VERBOSE = true来检查make命令的输出。 恐怕我帮不了你了。在MinGW中编译通常是一团糟。我只能推荐一个完整的Linux环境。 – mattmilten