LordThrash Posted May 8, 2015 Share Posted May 8, 2015 I have 3.7rc compiling in vs2010 just fine, but I don't know how to compile x64 exes. Is there a tutorial or directions on how to do this? I am having trouble sifting through all the documentation locations. Quote Link to comment Share on other sites More sharing options...
buckmaster Posted May 9, 2015 Share Posted May 9, 2015 Sadly x64 can only be compiled using CMake right now. Have a look at this section. Actually, you technically can patch your generated solution to make it 64-compatible after generating with the project manager, but I wouldn't recommend it.This process isn't as smooth as we'd like, obviously! Coming up, we're thinking of making the Project Manager app use CMake as its backend, so you get all its usability but CMake's power. Quote Link to comment Share on other sites More sharing options...
Johxz Posted May 9, 2015 Share Posted May 9, 2015 Coming up, we're thinking of making the Project Manager app use CMake as its backend, so you get all its usability but CMake's power. Nice! ;) Quote Link to comment Share on other sites More sharing options...
LordThrash Posted May 9, 2015 Author Share Posted May 9, 2015 Thanks. I will give that a try. Quote Link to comment Share on other sites More sharing options...
PaulWeston Posted May 21, 2015 Share Posted May 21, 2015 Also trying to do a 64-bit build.Got Visual Studio all linked up properly with 64-bit libs, etc, but am getting these unresolved externals stopping me from a completed build...Any ideas on what I'm missing? It's like it can't find the D3D functions, but it is locating the include and lib folders in the sdk no problem - if I change the include x3daudio.h at the top of SFXXAudioDevice.h to be something like x3daudio2.h it will throw an error, so I know it is finding x3daudio.h as one example (which is where the function for SFXXAudioDevice is). Is there something I'm forgetting about how to fix unresolved symbols? Like I said all my paths and settings in VS look correct for the projects' include and lib folders, etc.Thanks. 1>gfxD3D9Shader.obj : error LNK2019: unresolved external symbol D3DXDisassembleShader referenced in function "protected: virtual bool __cdecl GFXD3D9Shader::_compileShader(class Torque::Path const &,class String const &,struct _D3DXMACRO const *,class GenericConstBufferLayout *,class GenericConstBufferLayout *,class Vector<struct GFXShaderConstDesc> &)" (?_compileShader@GFXD3D9Shader@@MEAA_NAEBVPath@Torque@@AEBVString@@PEBU_D3DXMACRO@@PEAVGenericConstBufferLayout@@3AEAV?$Vector@UGFXShaderConstDesc@@@@@Z) 1>gfxD3D9Shader.obj : error LNK2019: unresolved external symbol DXGetErrorStringA referenced in function "protected: virtual bool __cdecl GFXD3D9Shader::_compileShader(class Torque::Path const &,class String const &,struct _D3DXMACRO const *,class GenericConstBufferLayout *,class GenericConstBufferLayout *,class Vector<struct GFXShaderConstDesc> &)" (?_compileShader@GFXD3D9Shader@@MEAA_NAEBVPath@Torque@@AEBVString@@PEBU_D3DXMACRO@@PEAVGenericConstBufferLayout@@3AEAV?$Vector@UGFXShaderConstDesc@@@@@Z) 1>gfxD3D9Shader.obj : error LNK2019: unresolved external symbol DXGetErrorDescriptionA referenced in function "protected: virtual bool __cdecl GFXD3D9Shader::_compileShader(class Torque::Path const &,class String const &,struct _D3DXMACRO const *,class GenericConstBufferLayout *,class GenericConstBufferLayout *,class Vector<struct GFXShaderConstDesc> &)" (?_compileShader@GFXD3D9Shader@@MEAA_NAEBVPath@Torque@@AEBVString@@PEBU_D3DXMACRO@@PEAVGenericConstBufferLayout@@3AEAV?$Vector@UGFXShaderConstDesc@@@@@Z) 1>gfxD3D9TextureManager.obj : error LNK2019: unresolved external symbol D3DXLoadSurfaceFromMemory referenced in function "protected: virtual bool __cdecl GFXD3D9TextureManager::_loadTexture(class GFXTextureObject *,class GBitmap *)" (?_loadTexture@GFXD3D9TextureManager@@MEAA_NPEAVGFXTextureObject@@PEAVGBitmap@@@Z) 1>gfxPCD3D9Device.obj : error LNK2019: unresolved external symbol Direct3DCreate9 referenced in function "protected: static void __cdecl GFXPCD3D9Device::createDirect3D9(struct IDirect3D9 * &,struct IDirect3D9Ex * &)" (?createDirect3D9@GFXPCD3D9Device@@KAXAEAPEAUIDirect3D9@@AEAPEAUIDirect3D9Ex@@@Z) 1>gfxPCD3D9Device.obj : error LNK2019: unresolved external symbol D3DPERF_BeginEvent referenced in function "public: virtual void __cdecl GFXPCD3D9Device::enterDebugEvent(class ColorI,char const *)" (?enterDebugEvent@GFXPCD3D9Device@@UEAAXVColorI@@PEBD@Z) 1>gfxPCD3D9Device.obj : error LNK2019: unresolved external symbol D3DPERF_EndEvent referenced in function "public: virtual void __cdecl GFXPCD3D9Device::leaveDebugEvent(void)" (?leaveDebugEvent@GFXPCD3D9Device@@UEAAXXZ) 1>gfxPCD3D9Device.obj : error LNK2019: unresolved external symbol D3DPERF_SetMarker referenced in function "public: virtual void __cdecl GFXPCD3D9Device::setDebugMarker(class ColorI,char const *)" (?setDebugMarker@GFXPCD3D9Device@@UEAAXVColorI@@PEBD@Z) 1>sfxXAudioDevice.obj : error LNK2019: unresolved external symbol __imp_X3DAudioCalculate referenced in function "public: void __cdecl SFXXAudioDevice::_setOutputMatrix(class SFXXAudioVoice *)" (?_setOutputMatrix@SFXXAudioDevice@@QEAAXPEAVSFXXAudioVoice@@@Z) 1>sfxXAudioDevice.obj : error LNK2019: unresolved external symbol __imp_X3DAudioInitialize referenced in function "public: __cdecl SFXXAudioDevice::SFXXAudioDevice(class SFXProvider *,class String const &,struct IXAudio2 *,unsigned int,unsigned int,unsigned int)" (??0SFXXAudioDevice@@QEAA@PEAVSFXProvider@@AEBVString@@PEAUIXAudio2@@III@Z) Quote Link to comment Share on other sites More sharing options...
PaulWeston Posted May 21, 2015 Share Posted May 21, 2015 Oh wait, cool, got it!There was one spot buried in the linker settings that I missed changing a path in the sdk from x86 to x64.Off and running now, will see about migrating all my old resources in there to see if our game can go 64 bit (minus Awesomium for now since no 64 bit on that yet).P Quote Link to comment Share on other sites More sharing options...
buckmaster Posted May 22, 2015 Share Posted May 22, 2015 @PaulWeston should that linker setting change be documented in the wiki? Could you do that, or at least give me detailed instructions so I can make the change? Thanks :) Quote Link to comment Share on other sites More sharing options...
JeffR Posted May 22, 2015 Share Posted May 22, 2015 So here's a question. Until we get the PM updated so picking between 32 and 64 is easy, would it make more sense in the short-term to have the PM default to 64 bit and you have to utilize CMake to do 32?32bit is quickly becoming unneeded, so it makes me wonder if, in the short term, the PM defaulting projects made to be 64 bit would make sense. Quote Link to comment Share on other sites More sharing options...
PaulWeston Posted May 22, 2015 Share Posted May 22, 2015 I think the problem may just be specific to Oculus builds... They will require you to change libovr.lib to libovr64.lib anywhere it is present, under Linker->Input for example. And the Additional Library Directories under Linker->General had the win32 folder for Oculus listed so I had to change that for 64. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.