我正在尝试使用:
#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 MB
用于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文件。