Попытка запустить TDM-GCC (4.7.1) на XP SP3 — мне сейчас нужна только 32-битная сборка c ++. Кажется, что windres не в нужном формате, мой файл .rc не удается собрать:
x86_64-w64-mingw32-g++.exe -Wall -m32 -s -D_M_X86 -DBUILD_DLL -DNDEBUG -c C:\SynthEditSDK\TD_SV\SV.cpp -o obj\Release\TD_SV\SV.o
windres.exe -J rc -O coff -i C:\SYNTHE~1\TD_SV\TD_SV.rc -o obj\Release\TD_SV\TD_SV.res
x86_64-w64-mingw32-g++.exe -shared -Wl,--output-def=bin\Release\libTD_SV -Wl,--out-implib=bin\Release\libTD_SV -Wl,--dll obj\Release\se_sdk3\mp_sdk_audio.o obj\Release\se_sdk3\mp_sdk_common.o obj\Release\TD_SV\SV.o obj\Release\TD_SV\TD_SV.res -o bin\Release\TD_SV.sem -Wl,--kill-at -static-libgcc -m32 -luser32
c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/4.7.1/../../../../x86_64-w64-mingw32/bin/ld.exe: i386:x86-64 architecture of input file `obj\Release\TD_SV\TD_SV.res' is incompatible with i386 output
collect2.exe: error: ld returned 1 exit status
Process terminated with status 1 (0 minutes, 2 seconds)
0 errors, 2 warnings (0 minutes, 2 seconds)
Мой файл ресурсов (TD_SV.rc), кажется, ошибка:
TD_SV.res' is incompatible with i386 output
Я гуглил в течение нескольких часов, и самое близкое, что я нашел к решению, здесь:
Он предлагает этот сценарий — но я не могу понять, как изменить его в соответствии с моими потребностями — Любая помощь приветствуется!
$ rescomp [[
если (GetProjectManager (). GetActiveProject (). GetActiveBuildTarget (). Совпадение (_T ( «Debug32»))
||
GetProjectManager (). GetActiveProject (). GetActiveBuildTarget (). Совпадение (_T ( «Release32»)))
{print (_T («- D USE_X86_MODE -F pe-i386»)); }]] -i $ file -J rc -o
$ resource_output -O coff $ res_include
Кроме того, есть ли альтернативы TDM-GCC (предварительно встроенный / тип установщика)? Все, что мне действительно нужно, это 32-битная сборка с опциями графита. Также с помощью CodeBlocks IDE.
С уважением
Эндрю
Чтобы увидеть все возможные параметры ветра, вы можете запросить помощь:
x86_64-w64-mingw32-windres.exe —help
Для Windows 32-битного формата вам нужно COFF отформатировать с ре-i386 цель.
В основном, вы должны добавить -F pe-i386 (или же —целевой = ре-i386) после -О кофф флаг вашей командной строки, если вы генерируете его вручную.
В GNU autotools речь идет о RCFLAGS. Так что если есть какой-то скрипт настройки, просто добавьте
./ configure RCFLAGS = «- output-format = coff —target = pe-i386» ……..
Других решений пока нет …