[Bf-committers] Can't build blender trunk on win32 since 2.73

Jonathan Railsback jonbitzen at hotmail.com
Sat Jan 17 22:07:37 CET 2015


Everyone - 

Last week I started trying to build Blender on win32, and I've been having several issues with the libraries that I check out of SVN.

First, I tried to do a debug build, and my build got tripped up because it couldnt find libjack_d.lib.  I was able to work around this by searching for it in cmake lists file and changing the debug build to use the release version of the library.

After fixing the issue with libjack_d.lib, I had problems linking with the opencollada libraries.  It appears that somehow a 64bit debug library got checked into the 32 bit precompiled windows libraries. I get the following error from MSVC++ 2013:

OpenCOLLADAFramework_d.lib(COLLADAFWFileInfo.cpp.obj) : fatal error LNK1112: module machine type 'x64' conflicts with target machine type 'X86' 

For reference, I checked out my windows precompiled libraries from the following SVN URL, per the instructions on the Blender website:

https://svn.blender.org/svnroot/bf-blender/trunk/lib/windows_vc12

So I'm fairly confident that I *should* have the 32 bit libs.  I ran dumpbin /headers against the lib referenced above, as well as it's release counterpart, and what I found is that the collada debug lib above is 64bit and the release version is 32bit.

So, next I reconfigured my MSVC++ 2013 IDE to do a release build.  That one quit with the following error:

136>     Creating library C:/Users/xxx/Documents/projects/blender-build/bin/Release/blender-app.lib and object C:/Users/xxx/Documents/projects/blender-build/bin/Release/blender-app.exp
136>libjack.lib(JackClient.obj) : error LNK2019: unresolved external symbol "public: static void __cdecl std::_String_base::_Xran(void)" (?_Xran at _String_base@std@@SAXXZ) referenced in function "public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::erase(unsigned int,unsigned int)" (?erase@?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QAEAAV12 at II@Z)
136>libjack.lib(JackTools.obj) : error LNK2001: unresolved external symbol "public: static void __cdecl std::_String_base::_Xran(void)" (?_Xran at _String_base@std@@SAXXZ)
136>libjack.lib(JackClient.obj) : error LNK2019: unresolved external symbol "public: static void __cdecl std::_String_base::_Xlen(void)" (?_Xlen at _String_base@std@@SAXXZ) referenced in function "protected: bool __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Grow(unsigned int,bool)" (?_Grow@?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@IAE_NI_N at Z)
136>libjack.lib(JackTools.obj) : error LNK2001: unresolved external symbol "public: static void __cdecl std::_String_base::_Xlen(void)" (?_Xlen at _String_base@std@@SAXXZ)
136>C:\Users\xxx\Documents\projects\blender-build\bin\Release\blender-app.exe : fatal error LNK1120: 2 unresolved externals

I'm embarrassed to admit my C++Fu isn't strong enough to understand what's wrong here!  I could probably try a build without Jack (that's what I'll try next) but I figured I'd ask folks here in case there's a fix.

For whatever it's worth, I was playing with some fixes for COLLADA import.  I havent had that many problems on the Linux side, but I moved to Windows since I'm working on this concurrently with a Unity3D project I'm playing with.

Thanks!

jonbitzen
 		 	   		  


More information about the Bf-committers mailing list