У меня есть проект C ++, включая иностранный код C ++ (CoolProp). Этот внешний код я скомпилировал как статическую библиотеку. Компилятор TDM-GCC версии 5.1.0 с опцией -m32.
Я снова вызываю в своем коде C ++, используя TDM-GCC Vers 5.1.0 с опцией -m32.
Я смог скомпилировать и запустить небольшую тестовую программу для командной строки.
Вся последовательность компиляции (приглашение командной строки Windoes или MSYS 1.0):
g ++ -c -o build / liquidflow.o -LC: /CoolProp/5.1.2/CoolProp/build
-I./include -IC: /CoolProp/5.1.2/CoolProp/include src / liquidflow.cpp -lCoolProp -m32 && ar rcs build / libfluidflow.a build / fluidflow.o
g ++ -c -o build / формула.o -I ./include src / Formulae.cpp -lm -m32 && Арканзас
rcs build / libformulae.a build / Formula.o
g ++ -c -o build / fancoil.o -I./include src / fancoil.cpp -lm -m32 && Арканзас
rcs build / libfancoil.a build / fancoil.o
g ++ -c -o build / circuit.o -L./build -LC: /CoolProp/5.1.2/CoolProp/build
-I./include src / circuit.cpp -IC: /CoolProp/5.1.2/CoolProp/include -lm -lfancoil -lformulae -lfluidflow -lCoolProp -m32 && ar rcs build / libcircuit.a build / circuit.o
g ++ -c -o build / cell.o -L./build -LC: /CoolProp/5.1.2/CoolProp/build
-I./include src / cell.cpp -IC: /CoolProp/5.1.2/CoolProp/include -lm -lcircuit -lfancoil -lformulae -lfluidflow -lCoolProp -m32 && ar rcs build / libcell.a build / cell.o
g ++ -o test / test_simple.exe -L./build
-LC: /CoolProp/5.1.2/CoolProp/build -I. -m32 && тест CD && test_simple.exe
Затем я попытался создать программу с графическим интерфейсом с помощью wxWidgets, версии 3.0. Поскольку я не вызывал свои библиотеки, я мог компилировать с помощью msys
g ++ fancoil_gui.cpp wx-config --cxxflags --libs
-o fancoil_gui
Когда я пытался вызвать мои библиотеки, например, libformulae.a / Formulae.h, я использовал опцию -m32, и компиляция всегда заканчивалась ошибкой вроде
C: / TDM-GCC-64 / бен /../ Библиотека / GCC / x86_64-W64-mingw32 / 5.1.0 /../../../../ x86_64-W64-mingw32 / бен / LD. EXE:
пропуск несовместимого C: /msys/1.0/local/lib/libwxregexu-3.0.a при
поиск -lwxregexu-3.0
Операционная система 64-битная Windows 7
Как я могу сделать это, не создавая ошибок?
Не похоже на ошибку. У вас есть 64-битная библиотека в PATH, но вы просите компоновщика найти 32-битную. Он просто говорит вам, что игнорирует 64-битный.
Других решений пока нет …