Id like to try building in Windows 7/64, CMake & MS Visual C++ 2010 BUT…
I cant resolve lib boost, openimage and cycles etc integration into C:\BlenderSVN tree.
Any suggestions (I DONT mean linux for now ??
How incorporate up-to-date trunks into my local tree and resolve all the dependencies properly ?
Nice ! Does not help much though I feel much better…
(i have reinstalled MSVC et consortes pretty few times-still dont know if its worth trying to build my own compilations in time, most up-to date( svn control??) and eventually i am not sure.
just did my first blender build only a few hours ago, and by coincidence with pretty much the same setup (win7-64, cmake, MS visual 2010 + cycles)… i noticed a lot of peeps are having issues with lib boost, though i don’t think that config option even came up for me…? openimage failed for me too, but i dont have a use for that personally, so i didn’t include it. So I can’t help you out with the first 2, but cycles perhaps… i was specifically having issues with the CUDA side of things, is that where you have your stumbling block or are you just sticking with CPU?
I solved libboost* unresolved external symbol problems on Win32/MSVC 2010 by downloading new precompiled libs. I don’t now where to get precompiled Win64 binaries tough (Edit: maybe the binaries at http://boost.teeks99.com/ works).
Get the BoostPro 1.47.0 Installer from http://www.boostpro.com/download/, and select the Visual C++ 10.0, Multhreaded, static runtime and Multhreaded debug, static runtime.
After instalation, copy the following files from the boost intalation directory to the $BlenderSVN/lib/windows/boost/lib folder:
libboost_date_time-vc100-mt-s-1_47.lib
libboost_date_time-vc100-mt-sgd-1_47.lib
libboost_filesystem-vc100-mt-s-1_47.lib
libboost_filesystem-vc100-mt-sgd-1_47.lib
libboost_regex-vc100-mt-s-1_47.lib
libboost_regex-vc100-mt-sgd-1_47.lib
libboost_system-vc100-mt-s-1_47.lib
libboost_system-vc100-mt-sgd-1_47.lib
libboost_thread-vc100-mt-s-1_47.lib
libboost_thread-vc100-mt-sgd-1_47.lib
Then update the BlenderSVN/blender/CMakelists.txt:
Find the lines:
Big thx Acilio, that worked for me in VS2010 express, with windows 7 32 bit, in release mode for the build of blender 2.6.
However debug mode won’t build. Can you help? Here is the error:
109>------ Rebuild All started: Project: blender, Configuration: Debug Win32 ------
109> Building Custom Rule C:/Blender/Blender/source/creator/CMakeLists.txt
109> CMake does not need to re-run because C:\Blender\build\source\creator\CMakeFiles\generate.stamp is up-to-date.
109> buildinfo.c
109> creator.c
109> Generating Code...
109>creator.obj : warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/INCREMENTAL:NO' specification
109>libboost_filesystem-vc100-mt-s-1_47.lib(v2_operations.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2' in bf_render.lib(rayobject_qbvh.obj)
109>libboost_system-vc100-mt-s-1_47.lib(error_code.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2' in bf_render.lib(rayobject_qbvh.obj)
109>libboost_thread-vc100-mt-s-1_47.lib(thread.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2' in bf_render.lib(rayobject_qbvh.obj)
109>libboost_thread-vc100-mt-s-1_47.lib(tss_pe.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2' in bf_render.lib(rayobject_qbvh.obj)
109> Creating library C:/Blender/build/bin/Debug/blender.lib and object C:/Blender/build/bin/Debug/blender.exp
109>libjpeg.lib(jerror.o) : warning LNK4049: locally defined symbol __iob imported
109>libpng_st.lib(pngerror.o) : warning LNK4049: locally defined symbol __iob imported
109>libpng_st.lib(pngwutil.o) : warning LNK4049: locally defined symbol __iob imported
109>libpng_st.lib(pngrutil.o) : warning LNK4049: locally defined symbol __iob imported
109>C:\Blender\build\bin\Debug\blender.exe : fatal error LNK1319: 4 mismatches detected
110>------ Rebuild All started: Project: ALL_BUILD, Configuration: Debug Win32 ------
110> Build all projects
110> Building Custom Rule C:/Blender/Blender/CMakeLists.txt
110> CMake does not need to re-run because C:\Blender\build\CMakeFiles\generate.stamp is up-to-date.
111>------ Skipped Rebuild All: Project: INSTALL, Configuration: Debug Win32 ------
111>Project not selected to build for this solution configuration
112>------ Skipped Rebuild All: Project: PACKAGE, Configuration: Debug Win32 ------
112>Project not selected to build for this solution configuration
========== Rebuild All: 108 succeeded, 1 failed, 3 skipped ==========
demohero,
Sorry about that. The boostpro installer only have the 32bit version of the boost library… The compiler is complaining that libboost* are not compatible with the 64-bit target.
There’s some pre-compiled 64 bit binaires on http://boost.teeks99.com/, but I don’t know it can be trusted… But if you wanna try it, get the boost_1_47_0-vc64-bin.exe archive, just extract and copy the files listed in my previous post to $BlenderSVN/lib/win64/boost/lib instead.
PS.: The extracted archive is huge. Open it with Winrar to extract only the needed libs.
Ops… I think I need to look further on the CMakelist.txt. It seems that the release version of the libs are being imported to the debug mode of the project. But you can remove the references manually:
On MSVC10, select the Debug mode, go right-click on the blender project and select Properties. Select “Configuration Properties/Linker/Input” on the left-panel. Edit the Aditional Dependencies field. Remove the entries to
libboost_date_time-vc100-mt-s-1_47.lib, libboost_filesystem-vc100-mt-s-1_47.lib, libboost_regex-vc100-mt-s-1_47.lib, libboost_system-vc100-mt-s-1_47.lib, and libboost_thread-vc100-mt-s-1_47.lib (but keep the *-vc100-mt-sgd-1_47.lib ones).
PS.: You will have to remove those entries every time you re-run cmake. I’ll have to check later to see why this is happening.
'blender.exe': Loaded 'C:\projects\blenderSVN\msvc-build\bin\Debug\python32_d.dll', Cannot find or open the PDB file
Debugger:: An unhandled non-continuable exception was thrown during process load
The program '[3672] blender.exe: Native' has exited with code -1072365566 (0xc0150002).
Without MSVC 2008 installed you may get an error like this on launch.
The application failed to initialize properly (0xc9159992). Click on OK to terminate the application. This is because python32_d.dll needs MSVC 2008 installed to run. Both the Full version or Express will work.
So even if you build with MinGW or MSVC 2010, to run debug builds you need MSVC 2008.
But if you only want to debug blender, use the RelWithDebInfo mode instead. It uses the release version of the external libraries but inserts the debug symbols on compiled files, so you can use visual debugger withou problems. Don’t forget to run the INSTALL project first.
PS.: I think we will only get rid of this problem if we recompile all the external libraries at lib/windows and lib/win64 using the MSVC10 toolchain.