C++;:使用c+;在Msys下构建wxWidgets项目时发生ld不兼容错误+;使用g++;和-m32选项 我有一个C++项目,包括国外C++代码(CuroProp)。这是我编译成静态库的外来代码。编译器是TDM-GCC版本5.1.0,带有-m32选项。 在我的C++代码中,再次使用TD-GCC VS 5.1.0和-M32选项调用。 我能够编译并运行一个小的命令行测试程序。 整个编译顺序(Windoes命令行提示符或MSYS 1.0): 包流
g++-c-o build/fluidflow.o-LC:/CoolProp/5.1.2/CoolProp/build -I./include-IC:/CoolProp/5.1.2/CoolProp/include src/fluidflow.cpp-lCoolProp-m32和&ar rcs build/libfluidflow.a build/fluidflow.oC++;:使用c+;在Msys下构建wxWidgets项目时发生ld不兼容错误+;使用g++;和-m32选项 我有一个C++项目,包括国外C++代码(CuroProp)。这是我编译成静态库的外来代码。编译器是TDM-GCC版本5.1.0,带有-m32选项。 在我的C++代码中,再次使用TD-GCC VS 5.1.0和-M32选项调用。 我能够编译并运行一个小的命令行测试程序。 整个编译顺序(Windoes命令行提示符或MSYS 1.0): 包流,c++,g++,wxwidgets,msys,tdm-gcc,C++,G++,Wxwidgets,Msys,Tdm Gcc,g++-c-o build/fluidflow.o-LC:/CoolProp/5.1.2/CoolProp/build -I./include-IC:/CoolProp/5.1.2/CoolProp/include src/fluidflow.cpp-lCoolProp-m32和&ar rcs build/libfluidflow.a build/fluidflow.o 包装配方 g++-c-o build/formulas.o-I./include src/formulas.cpp-lm-m3
wx配置--cxflags--libs
-o fancoil_gui
当我试图调用我的库时,例如libformals.a/formulas.h,我使用了-m32选项,编译总是以如下错误结束
c:/TDM-GCC-64/bin/。/lib/GCC/x86_64-w64-mingw32/5.1.0/。/../../../../../../x86_64-w64-mingw32/bin/ld.exe:
在以下情况下跳过不兼容的C:/msys/1.0/local/lib/libwxregexu-3.0.a
正在搜索-lwxregexu-3.0
操作系统是64位Windows 7
我如何做到不产生错误 看起来不像是一个错误。路径上有一个64位库,但要求链接器查找一个32位库。它只是告诉您它忽略了64位的一个。看起来不像是一个错误。路径上有一个64位库,但要求链接器查找一个32位库。它只是告诉您它忽略了64位的消息。msys中其余的g++消息是“collect2.exe:error:ld returned 1 exit status”-实际上是一个ld/collect错误。而且还没有生成任何可执行文件。一个可能的问题是:libwxregexu-3.0.a和其他库显然是msys中的64位。有32位版本可用吗?或者我还可以如何解决我第一篇文章中描述的问题?@Robert:是的,如果你想构建一个32位的应用程序,你需要所有库的32位版本。msys中的其他g++消息是“collect2.exe:error:ld returned 1 exit status”-实际上是一个ld/collect错误。而且还没有生成任何可执行文件。一个可能的问题是:libwxregexu-3.0.a和其他库显然是msys中的64位。有32位版本可用吗?或者我如何才能解决我在第一篇文章中描述的问题?@Robert:是的,如果你想构建一个32位的应用程序,你需要所有库的32位版本。