Skip to main content
gamedev.net
🔒 Locked 🤖 Godot

64-bit compiling

Started by Evil Steve 2 replies 2.6k views
Original Post
Evil Steve
Evil Steve
I finally got around to setting stuff up for 64-bit compiling on XP64, but I get a crapload of linker errors, such as:

ConfigFile.obj : error LNK2001: unresolved external symbol __CxxFrameHandler3
BinaryResource.obj : error LNK2001: unresolved external symbol __GSHandlerCheck
Assert.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(char const *)" (__imp_??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@PEBD@Z)
Map.obj : error LNK2001: unresolved external symbol __security_cookie

And a bunch of others. I can post them all here if anyone wants, but there's 307 of them... I've set all of the directories to use the AMD64 versions of files and I've set the target machine type to X64 in the linker settings. Is there something else I'm missing? I'm using VC2005 Professional with the March 2006 platform SDK for Windows Server 2003. Cheers, Steve
DukeAtreides076
DukeAtreides076
Disable all the extra crap under C/C++ -> Code Generation, like minimal rebuild, runtime checks, and buffer security checks and see if that gets rid of some of them.
Evil Steve
Evil Steve
Quote:
Original post by DukeAtreides076
Disable all the extra crap under C/C++ -> Code Generation, like minimal rebuild, runtime checks, and buffer security checks and see if that gets rid of some of them.
Nope, already tried that. I have:
Enable string pooling: Yes (Tried no too)
Enable minimal rebuild: No
Enable C++ Exceptions: Yes
Smaller Type Check: No
Basic Runtime Checks: Default
Runtime Library: Multithreaded DLL
Struct Member Alignment: Default
Buffer Security Check: No
Enable Function-Level linking: No
Enable Enhanced Instruction Set: Not Set
Floating Point Model: Precise
Enable Floating Point Exceptions: No
frob
frob
I don't think it has anything to do with x64.

I've been using it for several months without an issue. Well, small issues due to lack of available x64 libraries and such, but that's just a natural growing pain.

I think your unresolved externals are just that -- symbols that the linker can't find. As long as you compile everything under x64, and you link with the x64 libraries, it should pick them up just fine.

Have you verified that all the object files and libraries are x64, and then done a full clean rebuild? It is pretty easy to miss something, especially if you ported your project or it's settings from an x86 project.

(similar bug on lwjgl forum, fix is to properly compile to x64 instead of x86)

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.