2012-01-04 11 views
1

Windows用のブレンダーのリンクに問題があります。私はCMakeを使ってmimgwコンパイラ(mingw32-g ++。exe C++コンパイラ)と(mingw32-gcc.exe cコンパイラ)を使ってメイクファイルを作成しています。ウィンドウのブレンダーのコンパイル/リンク

すべてのリンクエラーは、ここではgcc
\ libに\ WINDOWSに関連している
http://wiki.blender.org/index.php/Dev:2.5/Doc/Building_Blender/Windows/MinGW/CMake

に指定されている私は
https://svn.blender.org/svnroot/bf-blender/trunk/blender
https://svn.blender.org/svnroot/bf-blender/trunk/lib/windows
からソースを取得していますが、それらのほんの一部です:

lib \ windows \ gcc \ tiff \ lib/libtiff.a(tif_pixarlog.o):(。テキスト+ 0x172d):定義されていない「deflateInit_」への参照

のlib \ WINDOWS \ gccの\ openimageio \ libに/ libOpenImageIO.a(sysutil.cpp.obj):sysutil.cpp :(テキスト+ 0x32の):12'

LIBの\ @ GetProcessMemoryInfo `への未定義参照WSASetLastError @ 4への未定義参照

私のlib \ windows \ gcc \ windows \ gcc \ openimageio \ lib/libOpenImageIO.a(socketinput.cpp.obj) openimageioのlib \ WINDOWS \ gccの\ oiioが判明、私はこれはCMakeの

cmake ..\oiio\src\ -G "MinGW Makefiles"^
    -DBUILDSTATIC=1^
    -DBOOST_CUSTOM=0^
    -DBOOST_ROOT=..\lib\windows\gcc\boost\^
    -DBoost_USE_STATIC_RUNTIME=ON^
    -DLINKSTATIC=ON^
    -DILMBASE_HALF_LIBRARIES=..\lib\windows\gcc\openexr\lib\libHalf.a^
    -DILMBASE_IMATH_LIBRARIES=..\lib\windows\gcc\openexr\lib\libImath.a^
    -DILMBASE_ILMTHREAD_LIBRARIES=..\lib\windows\gcc\openexr\lib\libIlmThread.a^
    -DILMBASE_IEX_LIBRARIES=..\lib\windows\gcc\openexr\lib\libIex.a^
    -DOPENEXR_ILMIMF_LIBRARIES=..\lib\windows\gcc\openexr\lib\libIlmImf.a^
    -DILMBASE_INCLUDE_DIR=..\lib\windows\gcc\openexr\include^
    -DOPENEXR_INCLUDE_DIR=..\lib\windows\gcc\openexr\include^
    -DZLIB_INCLUDE_DIR=..\lib\windows\zlib\include^
    -DZLIB_LIBRARY=..\lib\windows\zlib\lib\libz.a^
    -DPNG_LIBRARY=..\lib\windows\png\lib\libpng.a^
    -DPNG_PNG_INCLUDE_DIR=..\lib\windows\png\include^
    -DJPEG_LIBRARY=..\lib\windows\jpeg\lib\libjpeg.lib^
    -DJPEG_INCLUDE_DIR=..\lib\windows\jpeg\include^
    -DTIFF_LIBRARY=..\lib\windows\tiff\lib\libtiff.lib^
    -DTIFF_INCLUDE_DIR=..\lib\windows\tiff\include^
    -DCMAKE_INSTALL_PREFIX=..\lib\windows\gcc\openimageio^
    -DUSE_OPENGL=OFF^
    -DUSE_TBB=OFF^
    -DUSE_FIELD3D=OFF^
    -DUSE_QT=OFF^
    -DUSE_PYTHON=OFF^
    -DCMAKE_BUILD_TYPE=Release 
mingw32-make install 

によって生成された推測している(oiio-あるbuild.bat)バッチファイルを実行するがあります存在しない。

編集:blender 2.71をsconsでコンパイルしようとすると、blenderフォルダからpythonを実行しないと、* SContructファイルが見つかりません。エラー

とそう

python26 \ python.exeのscons/scons.py私はと

ValueError: zero length field name in format: 
    File "D:\blender-source\blender\SConstruct", line 54: 
    EnsureSConsVersion(1,0,0) 
    File "D:\blender-source\blender\scons\scons-local\SCons\Script\SConscript.py", line 607: 
    env = self.factory() 
    File "D:\blender-source\blender\scons\scons-local\SCons\Script\SConscript.py", line 587: 
    default_env = SCons.Defaults.DefaultEnvironment() 
    File "D:\blender-source\blender\scons\scons-local\SCons\Defaults.py", line 88: 
    _default_env = SCons.Environment.Environment(*args, **kw) 
    File "D:\blender-source\blender\scons\scons-local\SCons\Environment.py", line 1003: 
    apply_tools(self, tools, toolpath) 
    File "D:\blender-source\blender\scons\scons-local\SCons\Environment.py", line 107: 
    env.Tool(tool) 
    File "D:\blender-source\blender\scons\scons-local\SCons\Environment.py", line 1787: 
    tool(self) 
    File "D:\blender-source\blender\scons\scons-local\SCons\Tool\__init__.py", line 183: 
    self.generate(env, *args, **kw) 
    File "D:\blender-source\blender\scons\scons-local\SCons\Tool\default.py", line 41: 
    SCons.Tool.Tool(t)(env) 
    File "D:\blender-source\blender\scons\scons-local\SCons\Tool\__init__.py", line 183: 
    self.generate(env, *args, **kw) 
    File "D:\blender-source\blender\scons\scons-local\SCons\Tool\dmd.py", line 131: 
    env['DLIBCOM'] = '$DLIB $_DLIBFLAGS {} $TARGET $SOURCES $_DLIBFLAGS'.format('-c' if env['PLATFORM'] == 'win32' else '') 

を取得python27 \ python.exeのscons/scons.py私は

scons: warning: VC version 12.0 not installed. C/C++ compilers are most likely not set correctly. 
Installed versions are: ['9.0'] 
File "D:\blender-source\blender\SConstruct", line 143, in <module> 
WindowsError: [Error 2] The system cannot find the file specified: 
    File "D:\blender-source\blender\SConstruct", line 207: 
    opts.Update(env) 
    File "D:\blender-source\blender\scons\scons-local\SCons\Variables\__init__.py", line 173: 
    exec open(filename, 'rU').read() in {}, values 
    File "<string>", line 3: 
    None 
    File "c:\python27\lib\subprocess.py", line 710: 
    errread, errwrite) 
    File "c:\python27\lib\subprocess.py", line 958: 
    startupinfo) 

答えて

2

を取得CMake + Mingw32は長い間テストされていませんが、SCons + Mingw64は間違いなく動作します。これは、Blenderのビルドボットが夜間にこれを使ってビルドしているからです。http://builder.blender.org/buildslaves/mingw64_scons_anthony

ビルドスレーブリストからは、mingw32スレーブがないことがわかります。近い将来にそれがあるかどうかはわかりません。

とにかく、SConsとMingw64では、コンパイルプロセスを簡単に実行する必要があります。 Mingw64がインストールされ、Python 2.6またはPython 2.7がインストールされていることを確認してください。次に、ブレンダーのソースとlib/mingw64をチェックしてください。 BlenderソースルートのC:\ Python27 \ python.exe scons \ scons.pyでコンパイルプロセスを開始します。これは箱からコンパイルする必要があります。

+0

scons.pyスクリプトでエラーが表示されます。scons:***いいえSConstructが見つかりませんでした。 エラーメッセージを生成するコード行は次のとおりです。 raise SCons.Errors.UserError( "SConstructファイルが見つかりません") – Frank

関連する問題