我正在尝试使用:
#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 资源。