Hi all, i am currently trying to compile for Win32 ARM64 using MSVC 2017 and Windows SDK 16299 and running into few issues which you might be able to help.
What i did as far is:
1) added ARM64 platform targets to project files
2) added _M_ARM_64 to defines
3) upped SDK version to 16299 in project files
4) excluded x64 specific files form compilation when $(Platform)==ARM64
5) added ARM64 specific or generic files to project but excluded them when $(Platform)==x64
6) disabled DirectInput controller module when _M_ARM_64 is defined (there are not DX8 libraries in Windows for ARM)
7) moved x64 ffmpeg libraries from externals/ffmpeg/lib to externals/ffmpeg/lib/x64
8) added ARM64 ffmpeg libraries to externals/ffmped/lib/ARM64 - changed library search path for both x64 and ARM64 accordingly in project files
9) removed a few warning in JITARM64 and die few other small changes in some sources
So things are now compiling fine for both x64 and ARM64 but i am getting linker errors under ARM64 which i cannot trivially resolve:
1) In DSPcore.cpp -> std::unique_ptr<JIT::x64:SPEmitter> g_dsp_jit;
2) In DSPTables.cpp -> const std::array<DSPOPCTemplate, 214> where DSPOPCTemplate is again related to JIT::x64:SPEmitter
3) In DSPLLE.cpp -> several references to std::unique_ptr<JIT::x64:SPEmitter> g_dsp_jit
Essentially i am having a dependency to JIT::x64:SPEmitter, which do not know how to resolve.
Help or some pointers would be appreciated.
BR,
Gerdya
What i did as far is:
1) added ARM64 platform targets to project files
2) added _M_ARM_64 to defines
3) upped SDK version to 16299 in project files
4) excluded x64 specific files form compilation when $(Platform)==ARM64
5) added ARM64 specific or generic files to project but excluded them when $(Platform)==x64
6) disabled DirectInput controller module when _M_ARM_64 is defined (there are not DX8 libraries in Windows for ARM)
7) moved x64 ffmpeg libraries from externals/ffmpeg/lib to externals/ffmpeg/lib/x64
8) added ARM64 ffmpeg libraries to externals/ffmped/lib/ARM64 - changed library search path for both x64 and ARM64 accordingly in project files
9) removed a few warning in JITARM64 and die few other small changes in some sources
So things are now compiling fine for both x64 and ARM64 but i am getting linker errors under ARM64 which i cannot trivially resolve:
1) In DSPcore.cpp -> std::unique_ptr<JIT::x64:SPEmitter> g_dsp_jit;
2) In DSPTables.cpp -> const std::array<DSPOPCTemplate, 214> where DSPOPCTemplate is again related to JIT::x64:SPEmitter
3) In DSPLLE.cpp -> several references to std::unique_ptr<JIT::x64:SPEmitter> g_dsp_jit
Essentially i am having a dependency to JIT::x64:SPEmitter, which do not know how to resolve.
Help or some pointers would be appreciated.
BR,
Gerdya