ifdef не работает в файле ресурсов

Я пытаюсь использовать:

#include "Resource.h"
#ifdef __x86_64
IDR_D3D9X43     BINARY              "D3DX9_43_64.dll"#else
IDR_D3D9X43     BINARY              "D3DX9_43_32.dll"#endif

в моем файле ресурсов (.rc). Когда я компилирую для x64, он должен включать ресурс x64. Когда я компилирую для x32, он должен включать ресурс x32. Тем не менее, это не ..

Он компилируется с использованием:

x86_64-w64-mingw32-g++.exe -Wall -fexceptions -O2 -m64 -std=c++11  -c C:\Users\School\Desktop\TestLoader\main.cpp -o obj\Release\main.o
windres.exe --target=pe-x86-64  -J rc -O coff -i C:\Users\School\Desktop\TESTLO~1\RESOUR~1\Resource.rc -o obj\Release\Resources\Resource.res
x86_64-w64-mingw32-g++.exe  -o bin\Release\TestLoader.exe obj\Release\main.o  obj\Release\Resources\Resource.res -s -m64 -static -static-libgcc -static-libstdc++

Выходной файл — bin \ Release \ TestLoader.exe размером 3,02 МБ.

для компиляции x64 и использует:

x86_64-w64-mingw32-g++.exe -Wall -fexceptions -O2 -m32 -std=c++11  -c C:\Users\School\Desktop\TestLoader\main.cpp -o obj\Release\main.o
windres.exe --target=pe-i386  -J rc -O coff -i C:\Users\School\Desktop\TESTLO~1\RESOUR~1\Resource.rc -o obj\Release\Resources\Resource.res
x86_64-w64-mingw32-g++.exe  -o bin\Release\TestLoader.exe obj\Release\main.o  obj\Release\Resources\Resource.res -s -m32 -static -static-libgcc -static-libstdc++

для компиляции x32.

Любые идеи, почему это не включает в себя конкретный ресурс? Он всегда включает первый ресурс в верхней части файла .. он же x64.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]