zoukankan      html  css  js  c++  java
  • Windows上编译OpenShadingLanguage

    将OSL 1.3.0解压到[工作目录]/osl/OpenShadingLanguage

    对Debug使用如下bat生成项目文件:

    @Echo off

    cd OpenShadingLanguage

    set LIBDIR=%CD%....

    :: create build directory
    mkdir buildwindows_debug
    cd buildwindows_debug

    cmake -G "Visual Studio 9 2008" ....src ^
    -DCMAKE_INSTALL_PREFIX=%LIBDIR%osldebug ^
    -DCMAKE_CXX_FLAGS_DEBUG="/D_DEBUG /MTd /Zi /Ob0 /Od /RTC1" ^
    -DCMAKE_CXX_FLAGS_MINSIZEREL="/MT /O1 /Ob1 /D NDEBUG" ^
    -DCMAKE_CXX_FLAGS_RELEASE="/MT /O2 /Ob2 /D NDEBUG" ^
    -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="/MT /Zi /O2 /Ob1 /D NDEBUG" ^
    -DCMAKE_CXX_STANDARD_LIBRARIES:STRING="kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib psapi.lib" ^
    -DBUILDSTATIC=ON ^
    -DILMBASE_HOME=%LIBDIR%openexr ^
    -DOPENIMAGEIOHOME=%LIBDIR%openimageio ^
    -DOPENIMAGEIO_LIBRARY=%LIBDIR%/openimageio/lib/OpenImageIO_d.lib;%LIBDIR%/png/lib/libpng_d.lib;%LIBDIR%/jpeg/lib/libjpeg_d.lib;%LIBDIR%/tiff/lib/libtiff_d.lib;%LIBDIR%/openexr/lib/Half_d.lib;%LIBDIR%/openexr/lib/Imath_d.lib;%LIBDIR%/openexr/lib/IlmImf_d.lib;%LIBDIR%/openexr/lib/Iex_d.lib;%LIBDIR%/openexr/lib/IlmThread_d.lib ^
    -DBOOST_ROOT=%LIBDIR%oost ^
    -DBoost_USE_STATIC_LIBS=ON ^
    -DBoost_USE_STATIC_RUNTIME=ON ^
    -DZLIB_INCLUDE_DIR=%LIBDIR%zlibinclude ^
    -DZLIB_LIBRARY=%LIBDIR%zlibliblibz_d.lib ^
    -DUSE_TBB=OFF ^
    -DFLEX_EXECUTABLE=%LIBDIR%oslflex_bisoninwin_flex.exe ^
    -DBISON_EXECUTABLE=%LIBDIR%oslflex_bisoninwin_bison.exe ^
    -DLLVM_DIRECTORY=%LIBDIR%llvmdebug ^
    -DLLVM_INCLUDES=%LIBDIR%llvmdebuginclude ^
    -DLLVM_LIB_DIR=%LIBDIR%llvmdebuglib ^
    -DLLVM_VERSION=3.2 ^
    -DLLVM_LIBRARY=%LIBDIR%llvmdebuglibLLVMAnalysis.lib;%LIBDIR%llvmdebuglibLLVMArchive.lib;%LIBDIR%llvmdebuglibLLVMAsmParser.lib;%LIBDIR%llvmdebuglibLLVMAsmPrinter.lib;%LIBDIR%llvmdebuglibLLVMBitReader.lib;%LIBDIR%llvmdebuglibLLVMBitWriter.lib;%LIBDIR%llvmdebuglibLLVMCodeGen.lib;%LIBDIR%llvmdebuglibLLVMCore.lib;%LIBDIR%llvmdebuglibLLVMDebugInfo.lib;%LIBDIR%llvmdebuglibLLVMExecutionEngine.lib;%LIBDIR%llvmdebuglibLLVMInstCombine.lib;%LIBDIR%llvmdebuglibLLVMInstrumentation.lib;%LIBDIR%llvmdebuglibLLVMInterpreter.lib;%LIBDIR%llvmdebuglibLLVMJIT.lib;%LIBDIR%llvmdebuglibLLVMLinker.lib;%LIBDIR%llvmdebuglibLLVMMC.lib;%LIBDIR%llvmdebuglibLLVMMCDisassembler.lib;%LIBDIR%llvmdebuglibLLVMMCJIT.lib;%LIBDIR%llvmdebuglibLLVMMCParser.lib;%LIBDIR%llvmdebuglibLLVMObject.lib;%LIBDIR%llvmdebuglibLLVMRuntimeDyld.lib;%LIBDIR%llvmdebuglibLLVMScalarOpts.lib;%LIBDIR%llvmdebuglibLLVMSelectionDAG.lib;%LIBDIR%llvmdebuglibLLVMSupport.lib;%LIBDIR%llvmdebuglibLLVMTableGen.lib;%LIBDIR%llvmdebuglibLLVMTarget.lib;%LIBDIR%llvmdebuglibLLVMTransformUtils.lib;%LIBDIR%llvmdebuglibLLVMVectorize.lib;%LIBDIR%llvmdebuglibLLVMX86AsmParser.lib;%LIBDIR%llvmdebuglibLLVMX86AsmPrinter.lib;%LIBDIR%llvmdebuglibLLVMX86CodeGen.lib;%LIBDIR%llvmdebuglibLLVMX86Desc.lib;%LIBDIR%llvmdebuglibLLVMX86Disassembler.lib;%LIBDIR%llvmdebuglibLLVMX86Info.lib;%LIBDIR%llvmdebuglibLLVMX86Utils.lib;%LIBDIR%llvmdebuglibLLVMipa.lib;%LIBDIR%llvmdebuglibLLVMipo.lib

    cd ......

    对Release使用:

    @Echo off

    cd OpenShadingLanguage

    set LIBDIR=%CD%....

    :: create build directory
    mkdir buildwindows
    cd buildwindows

    cmake -G "Visual Studio 9 2008" ....src ^
    -DCMAKE_INSTALL_PREFIX=%LIBDIR%osl elease ^
    -DCMAKE_CXX_FLAGS_DEBUG="/D_DEBUG /MTd /Zi /Ob0 /Od /RTC1" ^
    -DCMAKE_CXX_FLAGS_MINSIZEREL="/MT /O1 /Ob1 /D NDEBUG" ^
    -DCMAKE_CXX_FLAGS_RELEASE="/MT /O2 /Ob2 /D NDEBUG" ^
    -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="/MT /Zi /O2 /Ob1 /D NDEBUG" ^
    -DCMAKE_CXX_STANDARD_LIBRARIES:STRING="kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib psapi.lib" ^
    -DBUILDSTATIC=ON ^
    -DILMBASE_HOME=%LIBDIR%openexr ^
    -DOPENIMAGEIOHOME=%LIBDIR%openimageio ^
    -DOPENIMAGEIO_LIBRARY=%LIBDIR%/openimageio/lib/OpenImageIO.lib;%LIBDIR%/png/lib/libpng.lib;%LIBDIR%/jpeg/lib/libjpeg.lib;%LIBDIR%/tiff/lib/libtiff.lib;%LIBDIR%/openexr/lib/Half.lib;%LIBDIR%/openexr/lib/Imath.lib;%LIBDIR%/openexr/lib/IlmImf.lib;%LIBDIR%/openexr/lib/Iex.lib;%LIBDIR%/openexr/lib/IlmThread.lib ^
    -DBOOST_ROOT=%LIBDIR%oost ^
    -DBoost_USE_STATIC_LIBS=ON ^
    -DBoost_USE_STATIC_RUNTIME=ON ^
    -DZLIB_INCLUDE_DIR=%LIBDIR%zlibinclude ^
    -DZLIB_LIBRARY=%LIBDIR%zlibliblibz.lib ^
    -DUSE_TBB=OFF ^
    -DFLEX_EXECUTABLE=%LIBDIR%oslflex_bisoninwin_flex.exe ^
    -DBISON_EXECUTABLE=%LIBDIR%oslflex_bisoninwin_bison.exe ^
    -DLLVM_DIRECTORY=%LIBDIR%llvm ^
    -DLLVM_INCLUDES=%LIBDIR%llvminclude ^
    -DLLVM_LIB_DIR=%LIBDIR%llvmlib ^
    -DLLVM_VERSION=3.2 ^
    -DLLVM_LIBRARY=%LIBDIR%llvmlibLLVMAnalysis.lib;%LIBDIR%llvmlibLLVMArchive.lib;%LIBDIR%llvmlibLLVMAsmParser.lib;%LIBDIR%llvmlibLLVMAsmPrinter.lib;%LIBDIR%llvmlibLLVMBitReader.lib;%LIBDIR%llvmlibLLVMBitWriter.lib;%LIBDIR%llvmlibLLVMCodeGen.lib;%LIBDIR%llvmlibLLVMCore.lib;%LIBDIR%llvmlibLLVMDebugInfo.lib;%LIBDIR%llvmlibLLVMExecutionEngine.lib;%LIBDIR%llvmlibLLVMInstCombine.lib;%LIBDIR%llvmlibLLVMInstrumentation.lib;%LIBDIR%llvmlibLLVMInterpreter.lib;%LIBDIR%llvmlibLLVMJIT.lib;%LIBDIR%llvmlibLLVMLinker.lib;%LIBDIR%llvmlibLLVMMC.lib;%LIBDIR%llvmlibLLVMMCDisassembler.lib;%LIBDIR%llvmlibLLVMMCJIT.lib;%LIBDIR%llvmlibLLVMMCParser.lib;%LIBDIR%llvmlibLLVMObject.lib;%LIBDIR%llvmlibLLVMRuntimeDyld.lib;%LIBDIR%llvmlibLLVMScalarOpts.lib;%LIBDIR%llvmlibLLVMSelectionDAG.lib;%LIBDIR%llvmlibLLVMSupport.lib;%LIBDIR%llvmlibLLVMTableGen.lib;%LIBDIR%llvmlibLLVMTarget.lib;%LIBDIR%llvmlibLLVMTransformUtils.lib;%LIBDIR%llvmlibLLVMVectorize.lib;%LIBDIR%llvmlibLLVMX86AsmParser.lib;%LIBDIR%llvmlibLLVMX86AsmPrinter.lib;%LIBDIR%llvmlibLLVMX86CodeGen.lib;%LIBDIR%llvmlibLLVMX86Desc.lib;%LIBDIR%llvmlibLLVMX86Disassembler.lib;%LIBDIR%llvmlibLLVMX86Info.lib;%LIBDIR%llvmlibLLVMX86Utils.lib;%LIBDIR%llvmlibLLVMipa.lib;%LIBDIR%llvmlibLLVMipo.lib

    cd ......

    然后打开对应的项目文件,编译。

  • 相关阅读:
    匿名,排序,过滤,映射,递归函数
    内置函数图
    for(var i in items) 和 for(var i;i<items.length;i++) 区别
    js中var、let、const的区别 (待总结)
    eclipse拉取git项目 Read timed out after 30,000 ms
    eclispe git config配置文件配置远程仓库
    git pull出错:cannot pull into a repository with state: merging_resolved"
    HttpClient之用CloseableHttpClient发送post请求
    注意设置httpclient连接数
    This compilation unit is not on the build path of java project (此编译单元不在java项目的生成路径上)
  • 原文地址:https://www.cnblogs.com/len3d/p/3201882.html
Copyright © 2011-2022 走看看