[Solution] OpenVDB 3.0 for Win 7 64-bit / VS2010

3,946 views
Skip to first unread message

Rama Hoetzlein

unread,
Jan 20, 2015, 8:54:23 PM1/20/15
to openvd...@googlegroups.com




I've been working on getting the new OpenVDB 3.0 beta running under Win7 64-bit, with Visual Studio 2010.
This is a report on my progress, and some suggestions for Cmake, code fixes and packaging changes.

Recommended Fixes to OpenVDB 3.0 github for Win7
------------------------------------------------------------------------------
- Specify which versions of all the libraries can be used together. I successfully used:
      - OpenVDB 3.0 (beta)
      - Openexr 2.2.0
      - Ilmbase 2.2.0
      - Boost 1.57.0
      - TBB 4.3
      - ZLib 1.2.7
      - Glew 1.11.0
      - Glfw3
- Automated packaging of openexr, ilmbase and openvdb don't work under windows, and should be fixed!
    (to avoid having to manually copy header and lib files into one place)
- Include FindILMBase.cmake and FindOpenEXR.cmake in the openvdb repo distribution. These are not in github currently.
- Make sure NAMESPACE_VERSIONING defaults to OFF on Windows cmake.
- Confirm that all build flags are correct, e.g. openvdb static, half_exports
- Fix code in certain places, e.g. remove the toFloat craziness (see below)
- Provide some Win7 binaries so end users dont need to rebuild *everything*

Detailed Build Steps
------------------------------
These are my detailed steps to getting OpenVDB 3.0 working under Win7 64-bit /w VS2010, using cmake.
Some earlier windows instructions are here, https://nidclip.wordpress.com/2014/02/25/compiling-openvdb-the-openvdb-viewer-on-windows-7/, but I found this to be way too incomplete to get anything actually running. 
As a pre-requisite, you should be fairly familiar with how to use c-make.

1. Get a fork of OpenVDB 3.0 that has CMake:

3. Install Boost 1.57.0 from pre-built binaries.
        http://boost.teeks99.com/
      * Do NOT get Boost from http://sourceforge.net/projects/boost, as this distro has some errors internally. 
      * I found the boost from github to be very difficult to build. 
     If you do wish use boost's build tools, run the following:
bjam --stagedir="c:\boost" --build-type=complete --toolset=msvc-10.0 --with-regex --with-date_time --with-thread --with-signals --with-system --with-filesystem --with-iostreams --with-program_options stage 
      Note that the --toolset=msvc-10.0 is important, as it specifies Visual Studio 2010. Use msvc-11.0 if you want VS2012
      Do not use ./b2.exe, which is recommended, because it just takes latest version if you have multiple compilers installed.

4. Install OpenEXR and ILMBase (** Do not get this from github ** )
        http://www.openexr.com/downloads.html
      - openexr-2.2.0.tar.gz
      - ilmbase-2.2.0.tar.gz

5. Build ILMBase using CMake
      - Make *SURE* than NAMESPACE_VERSIONING is OFF (not checked!)
      - Follow instructions here:
       https://github.com/openexr/openexr/blob/master/IlmBase/README.cmake.txt

6. Once built, you may need to create a new folder for IlmBase
   which contains all headers and libs in a single location. 
      - ilmbase_installed\include - all project headers
      - ilmbase_installed\libs - all lib & dll files
   This is because the packaging system for windows is messed up. Meaning cmake is unable to take all the compiled headers and libs from each output project and put them into a single packaged folder.

7. You should also add ilmbase_installed to the system path. (due to 'cmd.exe' errors which will appear during openvdb build otherwise)
      - System PATH=%PATH%; D:\Codes\ilmbase_installed\lib

8. Start OpenEXR in CMake
      - Set the ILMBASE_PACKAGE_PREFIX = D:\Codes\ilmbase_installed   (should appear when you Configure c-make for OpenEXR)
      - Make *SURE* that NAMESPACE_VERSIONING is OFF (not checked!)

9. Set the ZLib directory for the openexr cmake
      - Make sure ZLib is built for correct 32/64-bit build.
      - If you build ZLib using CMake, you need to copy the output zconf.h file up to the primary include path, otherwise OpenEXR will report this file as missing.
      - Set the ZLIB_LIBRARY to the zlib.lib location. ZLIB_LIBRARY = \zlib-1.2.7\build\Release\zlib.lib

10. Once done, you again need to copy all the header and libs into a common folder for packaging.
    Whereas ilmbase was put into ILMBase_Installed (kind of a random name), the package for OpenEXR *must* be done into a folder called \OpenEXR, because somewhere in openvdb code the dependency is specified as #include <OpenEXR\IlmThread.h>..
      - Header files must go directly into \OpenEXR for this to work (without having to modify openvdb code)
      - I put the library files into a subfolder called \OpenEXR\libs 
    This command will help you to accomplish this:
        > mkdir include\
        > for /r %x in (*.h) do copy "%x" include\
    It copies all .h files from all sub-folders (recursive) into a single folder.

11.  Other errors may also be encountered: 

12. Get and install Intel Thread Building Blocks (TBB)
      https://www.threadingbuildingblocks.org/

13. Finally, build OpenVDB CMake.
      - Note that the cmake default package search will fail.
      - You need to have FindILMBase.cmake and FindOpenEXR.cmake, which are not included in the openvdb package. (I found these online from another source, but would be happy to share them here too)
      - Place these files in to a \cmake_modules folder.
      - Specify the cmake variable. CMAKE_MODULE_PATH=\cmake_modules

14. Make sure that both openvdb and test projects have these preprocessor directives:
      - OPENVDB_STATICLIB
      - OPENVDB_VERSION_NAME="v3_0_0"
      - NOMINMAX
      - OPENEXR_DLL (gets rid of _toFloat link issue)
      - does *not* have HALF_EXPORTS (gets rid of _toFloat link issue)

15. Half.h/cpp from ILMBase can be a serious pain on Windows/VS2010 because of this construct found in half.cpp:
       
      HALF_EXPORT const half::uif _toFloat[1 << 16] =
            #include "toFloat.h"

    And the top of toFloat.h looks like this:
        {
          {0x00000000}, {0x33800000}, {0x34000000}, {0x34400000}, 
          {0x34800000}, {0x34a00000}, {0x34c00000}, {0x34e00000}, ..

    The purpose of this is to include an automatically generated static table. However, this does not behave well in VS2010. 
    Instead, I had to modify toFloat.h so that it contains the declaration 
    and the table together.
      
       HALF_EXPORT const half::uif _toFloat[1 << 16] =
         {
          {0x00000000}, {0x33800000}, {0x34000000}, {0x34400000}, 
          {0x34800000}, {0x34a00000}, {0x34c00000}, {0x34e00000},

     If you do a "rebuild all" this file will get destroyed, as the toFloat.h is a generated file. So, make the change, and rebuild ONLY Half.lib.
     In the future, this ilmbase code itself should be modified, as this is a non-standard use of #include.

16. Make sure that the Additional Libraries, Additional Includes, and Preprocessor directives are all correct for openvdb and vdb_render:
      OpenVDB
      - Additional Libraries: None
      - Additional Include directories:
D:\Codes\boost_1_57_0;D:\Codes\tbb43\include;D:\Codes\zlib-1.2.7\include;D:\Codes\glfw\include;F:\Projects\Libraries\glew-1.11.0\include;D:\Codes\openvdb\openvdb\..;D:\Codes\openvdb\openvdb\.;D:\Codes\openvdb\openvdb\build\dwa;
     - Preprocessor Directives
OPENVDB_STATICLIB;WIN32;_WINDOWS;NDEBUG;_WIN32;NOMINMAX;OPENEXR_DLL;CMAKE_INTDIR="Release";OPENVDB_VERSION_NAME="v3_0_0";%(PreprocessorDefinitions)

      VDB_RENDER
      - Additional Libraries: 
 kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib;
D:\Codes\openvdb\openvdb\build\Release\openvdb.lib;
libboost_system-vc100-mt-1_57.lib;
libboost_iostreams-vc100-mt-1_57.lib;
libboost_thread-vc100-mt-1_57.lib;
D:\Codes\zlib-1.2.7\build\Release\zlib.lib;
D:\Codes\openexr-2.2.0\OpenEXR\libs\IlmImf.lib;
D:\Codes\ilmbase_installed\lib\Half.lib;
      - Additional Include directories:
D:\Codes\boost_1_57_0;D:\Codes\tbb43\include;D:\Codes\zlib-1.2.7\include;D:\Codes\glfw\include;F:\Projects\Libraries\glew-1.11.0\include;D:\Codes\openvdb\openvdb\..;D:\Codes\openvdb\openvdb\.;D:\Codes\openvdb\openvdb\build\dwa;
      - Preprocessor Directives
OPENVDB_STATICLIB;WIN32;_WINDOWS;NDEBUG;_WIN32;NOMINMAX;OPENEXR_DLL;CMAKE_INTDIR="Release";%(PreprocessorDefinitions)

17. You should now be able to build openvdb and vdb_render under Win7.

---------------------

YES, this was a super pain in the a@s (took 3 days). But there are no clear instructions online anywhere (hopefully here now), and both the cmake and compilation steps failed in multiple places with cryptic errors. It should be possible to just run cmake and have everything build correctly. A well written cmake will check for all these conditions and handle them. Hopefully this will be a start for real win/vc2010 support.

With that, I was finally able to get everything working. The vdb_render looks like its working correctly, and also working with multi-core.
Finally, I have OpenVDB 3.0 renders on windows! (top of post)







Rama Hoetzlein

unread,
Jan 21, 2015, 1:54:31 AM1/21/15
to openvd...@googlegroups.com
By the way, thanks to N.Yue, whose cmake efforts on openvdb make this build possible at all.
Also, thanks to T.Kent "teeks" for pre-built boost windows binaries, which saved a lot of build time.
With a little extra effort on cmakes and code edits - really not much - it should be possible to make Win/VC a supported platform of openvdb.
Seems this would be worth it to gain an entire platform of users.


Message has been deleted

chris golchert

unread,
Apr 19, 2015, 7:04:57 PM4/19/15
to openvd...@googlegroups.com
I just posted about problems.  This was the thread I was following to try for a 3.0 build.  It seems that I was able to build everything but when I try to compile the first example in the cookbook I get a huge number of linker errors.  They start with the mess that OpenEXR has created with dropping VS solutions.

Have you had any problems with OpenEXR stuff you didn't post?  Are you willing to share your files with the official repository?

Message has been deleted

Rama Hoetzlein

unread,
Apr 19, 2015, 11:12:21 PM4/19/15
to openvd...@googlegroups.com
I'll look into this further and let you know. Some others have had issues with OpenEXR as well. 
Will look again at how I solved it and post here when I can. Can you paste a few of those link errors here?

R

chris golchert

unread,
Apr 20, 2015, 12:26:13 AM4/20/15
to openvd...@googlegroups.com
They seem to change based on time of day.  I have gotten it ALL to build but in the end VDB doesn't work with the first sample in the cookbook.

Sometimes it can't seem to open half.lib, other times I get:

Error 1 error LNK2019: unresolved external symbol "__declspec(dllimport) private: static short __cdecl half::convert(int)" (__imp_?convert@half@@CAFH@Z) referenced in function "public: __cdecl half::half(float)" (??0half@@QEAA@M@Z) C:\Users\CG\Documents\GitHub\openexr\OpenEXR\build\IlmImf\b44ExpLogTable.obj
Error 2 error LNK2019: unresolved external symbol "__declspec(dllimport) private: static union half::uif const * const half::_toFloat" (__imp_?_toFloat@half@@0QBTuif@1@B) referenced in function "public: __cdecl half::operator float(void)const " (??Bhalf@@QEBAMXZ) C:\Users\CG\Documents\GitHub\openexr\OpenEXR\build\IlmImf\b44ExpLogTable.obj
Error 3 error LNK2019: unresolved external symbol "__declspec(dllimport) private: static unsigned short const * const half::_eLut" (__imp_?_eLut@half@@0QBGB) referenced in function "public: __cdecl half::half(float)" (??0half@@QEAA@M@Z) C:\Users\CG\Documents\GitHub\openexr\OpenEXR\build\IlmImf\b44ExpLogTable.obj
Error 4 error LNK1120: 3 unresolved externals C:\Users\CG\Documents\GitHub\openexr\OpenEXR\build\IlmImf\Release\b44ExpLogTable.exe
Error 5 error LNK2019: unresolved external symbol "__declspec(dllimport) private: static short __cdecl half::convert(int)" (__imp_?convert@half@@CAFH@Z) referenced in function "public: __cdecl half::half(float)" (??0half@@QEAA@M@Z) C:\Users\CG\Documents\GitHub\openexr\OpenEXR\build\IlmImf\dwaLookups.obj
Error 6 error LNK2019: unresolved external symbol "__declspec(dllimport) private: static union half::uif const * const half::_toFloat" (__imp_?_toFloat@half@@0QBTuif@1@B) referenced in function "public: __cdecl half::operator float(void)const " (??Bhalf@@QEBAMXZ) C:\Users\CG\Documents\GitHub\openexr\OpenEXR\build\IlmImf\dwaLookups.obj
Error 7 error LNK2019: unresolved external symbol "__declspec(dllimport) private: static unsigned short const * const half::_eLut" (__imp_?_eLut@half@@0QBGB) referenced in function "public: __cdecl half::half(float)" (??0half@@QEAA@M@Z) C:\Users\CG\Documents\GitHub\openexr\OpenEXR\build\IlmImf\dwaLookups.obj
Error 8 error LNK1120: 3 unresolved externals C:\Users\CG\Documents\GitHub\openexr\OpenEXR\build\IlmImf\Release\dwaLookups.exe

I'm finding that some of the linker errors are changing what they complain about. Most of the time it is related to something in the half code... or that stupid toFloat garbage they added.

Nicholas Yue

unread,
Apr 20, 2015, 12:33:59 AM4/20/15
to openvd...@googlegroups.com
Hi Chris,

     If you build OpenEXR as a DLL on Windows, did you have definitions for

     OPENEXR_DLL
     HALF_EXPORTS

     In the OpenEXR source tree, have a look at the file halfExport.h

     Hope that helps.

Cheers

Asif Ali

unread,
Apr 20, 2015, 5:40:49 AM4/20/15
to openvd...@googlegroups.com
Hi Chris,

I also encountered same errors you are getting but answer by Nicholas Yue https://groups.google.com/d/msg/openvdb-forum/-jFJQ2N4BGc/3_fat-2Zin4J is your solution (hopefully!)

Although using cmake version of the openvdb is nice but the amount of placing every directory by ourselves is way too headache specially if you are planning to make library with debug information (which is nightmare),

I have compiled openvdb3 under VS2012 using this guide


Asif

chris golchert

unread,
Apr 20, 2015, 7:07:53 PM4/20/15
to openvd...@googlegroups.com
I also encountered same errors you are getting but answer by Nicholas Yue 
https://groups.google.com/d/msg/openvdb-forum/-jFJQ2N4BGc/3_fat-2Zin4J is 
your solution (hopefully!)

That links to this thread :)

Thanks Nicholas and Asif.

chris golchert

unread,
Apr 20, 2015, 7:32:22 PM4/20/15
to openvd...@googlegroups.com
I have been building it as a .lib

Vincent tan Sin chia

unread,
Apr 20, 2015, 8:23:57 PM4/20/15
to openvd...@googlegroups.com
Hi Rama,

Set the ILMBASE_PACKAGE_PREFIX = D:\Codes\ilmbase_installed   (should appear when you Configure c-make for OpenEXR)

 I am still halfway through in building OpenVDB for Windows 7, but has encountered the above problem, Cmake just cant find ILMBASE_PACKAGE_PREFIX, i have tried to update path in system variables through cmd as well as manually, yet, it still cant find the package. Any ideas on how to solve this??

Vincent tan Sin chia

unread,
Apr 20, 2015, 8:40:20 PM4/20/15
to openvd...@googlegroups.com
Hi Rama,
 
10. Once done, you again need to copy all the header and libs into a common folder for packaging.
    Whereas ilmbase was put into ILMBase_Installed (kind of a random name), the package for OpenEXR *must* be done into a folder called \OpenEXR, because somewhere in openvdb code the dependency is specified as #include <OpenEXR\IlmThread.h>..
      - Header files must go directly into \OpenEXR for this to work (without having to modify openvdb code)
      - I put the library files into a subfolder called \OpenEXR\libs 
    This command will help you to accomplish this:
        > mkdir include\
        > for /r %x in (*.h) do copy "%x" include\
    It copies all .h files from all sub-folders (recursive) into a single folder.

Can i know what is really meant in 10.?? As for now, i have ilmbase_installed folder set up, do you mean that the OpenEXR 2.2.0 package need to be into this folder with /OpenEXR as its folder (eg: ilmbase_installed/OpenEXR)??

Sorry for my noob understanding.

Thanks a lot.

Rama Hoetzlein

unread,
Apr 20, 2015, 9:34:10 PM4/20/15
to openvd...@googlegroups.com
By "package", I mean that when the build of OpenEXR is complete, it takes all the .cpp and .h files, compiles and outputs a .lib file. In order for other software (like vdb) to use OpenEXR, it must have access to all the necessary include .h files and the .lib file (but not the .cpp). This is called the "packaging" of a library. Typically, this is done automatically by whoever setup the build system, but cmake packaging for openvdb/exr is broken on windows.. Since all the .h files are found in different subfolders, they must all be copied into a single path which becomes the "\include" path for that package. (that's what the DOS command is for, it collects all the .h files together)

For example, when you link in any library, like OpenEXR for example, you would normally do three things:
  - Add to your project the include path called: \OpenEXR\include
  - Add to your project the lib path called: \OpenEXR\lib
  - Write in your code "#include <openexr.h>"
These three steps give you access to a library. Without the include files, vdb can't know how to access the library. And without the .lib, vdb can't ask the openexr lib to actually do it when the time comes.

However, because of specifically the way openvdb was coded, vdb uses the library in this way:
  - #include <\OpenEXR\openexr.h>
Instead of the more generic #include "openexr.h", which means that set of packaged include files *must* go into a path called \OpenEXR. (while in most other build packaging, the folder would be something like \OpenEXR\include). 

FYI, as mentioned above, I'm going to look into better build steps for OpenEXR on windows.

Vincent tan Sin chia

unread,
Apr 20, 2015, 10:15:37 PM4/20/15
to openvd...@googlegroups.com
Hi Rama,

Thanks a lot for your guide, will try to build it using your existing steps while waiting for your better build steps.

Appreciate your helps.

Vincent tan Sin chia

unread,
Apr 21, 2015, 1:32:56 AM4/21/15
to openvd...@googlegroups.com
Hi Rama, i have successfully compiled OpenEXR and i already have those needed library. However, when i try to Cmake OpenVDB from the link that you gave, Cmake outpur error of not able to find glfw; though, i have glfw's include and lib file. Besides, can you share the FindILMbase.cmake as well as FindOpenEXR.cmake file coz i have searched online and found that it might be not appropriate considering that i am not good in configuring CMakeList. Thanks a lot.

Rama Hoetzlein

unread,
Apr 21, 2015, 12:47:59 PM4/21/15
to openvd...@googlegroups.com
You're going to run into a lot more issues after that.. : )
Give me a few days, and I should have a new build with better CMakelists so that this all just works (or at least works better). 

Vincent tan Sin chia

unread,
Apr 21, 2015, 9:05:32 PM4/21/15
to openvd...@googlegroups.com
Hi Rama, really appreciates your help, thanks a lot, take your time.

Rama Hoetzlein

unread,
Apr 22, 2015, 9:33:06 AM4/22/15
to openvd...@googlegroups.com
To everyone,

I am pleased to provide new forks of OpenVDB and OpenEXR, with update cmake find modules, better packaging, and code fixes to allow for easier Windows builds.
Just follow the instructions given on this github repostiory:
    https://github.com/rchoetzlein/win_openvdb   

If you have any additional questions, post them here or on the github comments (please dont email me).

Thanks,
lithozine
R. Hoetzlein

Message has been deleted

Vincent tan Sin chia

unread,
Apr 22, 2015, 8:26:01 PM4/22/15
to openvd...@googlegroups.com
Thanks a lot Rama, impressed with your swift progress, thanks a lot for helping newbies like me.

chris golchert

unread,
Apr 22, 2015, 10:51:08 PM4/22/15
to openvd...@googlegroups.com
Cloning now.  Thank you VERY much.

Vincent tan Sin chia

unread,
Apr 22, 2015, 11:13:59 PM4/22/15
to openvd...@googlegroups.com
GLFW3 Library: Found at D:/Codes/build/glfw/lib/glfw3.lib
GLEW Library: Found at D:/Codes/build/glew-1.12.0/lib/Release/x64/glew32.lib
Boost version: 1.57.0
Found the following Boost libraries:
  iostreams
  system
  thread
IlmBase Library: Fount at D:/Codes/build/IlmBase/lib/Half.lib;D:/Codes/build/IlmBase/lib/Iex.lib;D:/Codes/build/IlmBase/lib/Imath.lib;D:/Codes/build/IlmBase/lib/IlmThread.lib
OpenEXR Library: Fount at D:/Codes/build/OpenEXR/lib/IlmImf.lib
TBB Library Dir: D:/Codes/build/tbb43/lib/intel64/vc12/ 
TBB Arch:        intel64 
TBB Compiler:    vc12 
TBB Library: Found at D:/Codes/build/tbb43/lib/intel64/vc12/tbb.lib
Zlib Library: Found at D:/Codes/build/zlib/lib/zlib.lib
Packaging for /include: D:/Codes/build/OpenEXR/lib/IlmImf.dll -> D:/Codes/build/OpenVDB/Release
Packaging for /include: D:/Codes/build/IlmBase/lib/Half.dll -> D:/Codes/build/OpenVDB/Release
Packaging for /include: D:/Codes/build/IlmBase/lib/Iex.dll -> D:/Codes/build/OpenVDB/Release
Packaging for /include: D:/Codes/build/IlmBase/lib/Imath.dll -> D:/Codes/build/OpenVDB/Release
Packaging for /include: D:/Codes/build/IlmBase/lib/IlmThread.dll -> D:/Codes/build/OpenVDB/Release
Packaging for /include: D:/Codes/build/zlib/lib/zlib.dll -> D:/Codes/build/OpenVDB/Release
Packaging for /include: D:/Codes/build/tbb43/bin/intel64/*.dll -> D:/Codes/build/OpenVDB/Release
Packaging for /include: D:/Codes/build/boost_1_57_0/lib64-msvc-12.0/boost_system*.dll -> D:/Codes/build/OpenVDB/Release
Packaging for /include: D:/Codes/build/OpenEXR/lib/IlmImf.dll -> D:/Codes/build/OpenVDB/Debug
Packaging for /include: D:/Codes/build/IlmBase/lib/Half.dll -> D:/Codes/build/OpenVDB/Debug
Packaging for /include: D:/Codes/build/IlmBase/lib/Iex.dll -> D:/Codes/build/OpenVDB/Debug
Packaging for /include: D:/Codes/build/IlmBase/lib/Imath.dll -> D:/Codes/build/OpenVDB/Debug
Packaging for /include: D:/Codes/build/IlmBase/lib/IlmThread.dll -> D:/Codes/build/OpenVDB/Debug
Packaging for /include: D:/Codes/build/zlib/lib/zlib.dll -> D:/Codes/build/OpenVDB/Debug
Packaging for /include: D:/Codes/build/tbb43/bin/intel64/*.dll -> D:/Codes/build/OpenVDB/Debug
Packaging for /include: D:/Codes/build/boost_1_57_0/lib64-msvc-12.0/boost_system*.dll -> D:/Codes/build/OpenVDB/Debug
Configuring done
Mine...
GLFW3 Library: Found at D:/Codes/build/glfw/lib/glfw3.lib
GLEW Library: Found at D:/Codes/build/glew-1.11.0/lib/Release/x64/glew32.lib
Boost version: 1.57.0
Found the following Boost libraries:
  iostreams
  system
  thread
IlmBase Library: Fount at D:/Codes/build/IlmBase/lib/Half.lib;D:/Codes/build/IlmBase/lib/Iex.lib;D:/Codes/build/IlmBase/lib/Imath.lib;D:/Codes/build/IlmBase/lib/IlmThread.lib
OpenEXR Library: Fount at D:/Codes/build/OpenEXR/lib/IlmImf.lib
TBB Library Dir: D:/Codes/build/tbb43/lib/intel64/vc10/ 
TBB Arch:        intel64 
TBB Compiler:    vc10 
TBB Library: Found at D:/Codes/build/tbb43/lib/intel64/vc10/tbb.lib
Zlib Library: Found at D:/Codes/build/zlib/lib/zlib.lib
Packaging for /include: D:/Codes/build/OpenEXR/lib/IlmImf.dll -> D:/Codes/build/OpenVDB/Release
Packaging for /include: D:/Codes/build/IlmBase/lib/Half.dll -> D:/Codes/build/OpenVDB/Release
Packaging for /include: D:/Codes/build/IlmBase/lib/Iex.dll -> D:/Codes/build/OpenVDB/Release
Packaging for /include: D:/Codes/build/IlmBase/lib/Imath.dll -> D:/Codes/build/OpenVDB/Release
Packaging for /include: D:/Codes/build/IlmBase/lib/IlmThread.dll -> D:/Codes/build/OpenVDB/Release
Packaging for /include: D:/Codes/build/zlib/lib/zlib.dll -> D:/Codes/build/OpenVDB/Release
Packaging for /include: D:/Codes/build/tbb43/bin/intel64/vc10/*.dll -> D:/Codes/build/OpenVDB/Release
Packaging for /include: D:/Codes/build/boost_1_57_0/lib64-msvc-10.0/boost_system*.dll -> D:/Codes/openvdb/build/OpenVDB/Release
Packaging for /include: D:/Codes/build/OpenEXR/lib/IlmImf.dll -> D:/Codes/build/OpenVDB/Debug
Packaging for /include: D:/Codes/build/IlmBase/lib/Half.dll -> D:/Codes/build/OpenVDB/Debug
Packaging for /include: D:/Codes/build/IlmBase/lib/Iex.dll -> D:/Codes/build/OpenVDB/Debug
Packaging for /include: D:/Codes/build/IlmBase/lib/Imath.dll -> D:/Codes/build/OpenVDB/Debug
Packaging for /include: D:/Codes/build/IlmBase/lib/IlmThread.dll -> D:/Codes/build/OpenVDB/Debug
Packaging for /include: D:/Codes/build/zlib/lib/zlib.dll -> D:/Codes/build/OpenVDB/Debug
Packaging for /include: D:/Codes/build/tbb43/bin/intel64/vc10/*.dll -> D:/Codes/build/OpenVDB/Debug
Packaging for /include: D:/Codes/build/boost_1_57_0/lib64-msvc-10.0/boost_system*.dll -> D:/Codes/openvdb/build/OpenVDB/Debug
Configuring done
Generating done
Yours...

The difference of both is higlighted...
Is the folder differences making important in the building process??
It is because i have errors when trying to build the solution.
If yes, where should i change the folder??

Thanks Rama.


Rama Hoetzlein

unread,
Apr 22, 2015, 11:42:56 PM4/22/15
to openvd...@googlegroups.com
Vincent,

Hi. I think it would be more productive if you tell me what those build errors are that you're having?
That is, where are you actually getting stuck?
Because it looks like the configure and generate above worked just fine for you. What you're seeing is lib64-msvc-12.0 refers to boost libraries for Visual Studio 2012, where as lib64-msvc-10.0 is for VS 2010. In itself, the use of these libraries is not an issue. 
However, are you using VS 2012? Notice that I mentioned that I am only providing support for VS 2010.

That said, if you'd like myself or anyone else on the thread to help look at your issues -- its better to list the actual build errors that are blocking you rather than guessing about something else.

Best,
Rama

Vincent tan Sin chia

unread,
Apr 23, 2015, 12:04:56 AM4/23/15
to openvd...@googlegroups.com
Hi Rama,

Thanks for your reply, yes, i am using VS2012 (trying to build it in VS2012 due to some requirement issues, will revert to VS 2010 if i cant build it) .

Error 1 error MSB6006: "cmd.exe" exited with code 9009. C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppCommon.targets 170 5 doc
Error 2 error C1083: Cannot open include file: 'half.h': No such file or directory D:\Codes\source\win_openvdb\openvdb\Types.h 36 1 openvdb
Error 3 error C1083: Cannot open include file: 'half.h': No such file or directory D:\Codes\source\win_openvdb\openvdb\Types.h 36 1 openvdb
Error 4 error C1083: Cannot open include file: 'half.h': No such file or directory D:\Codes\source\win_openvdb\openvdb\Types.h 36 1 openvdb
Error 5 error C1083: Cannot open include file: 'half.h': No such file or directory D:\Codes\source\win_openvdb\openvdb\Types.h 36 1 openvdb
Error 6 error C1083: Cannot open include file: 'half.h': No such file or directory D:\Codes\source\win_openvdb\openvdb\Types.h 36 1 openvdb
Error 7 error C1083: Cannot open include file: 'half.h': No such file or directory D:\Codes\source\win_openvdb\openvdb\Types.h 36 1 openvdb
Error 8 error C1083: Cannot open include file: 'half.h': No such file or directory D:\Codes\source\win_openvdb\openvdb\Types.h 36 1 openvdb
Error 16 error C1083: Cannot open include file: 'half.h': No such file or directory D:\Codes\source\win_openvdb\openvdb\Types.h 36 1 openvdb
Error 17 error C1083: Cannot open include file: 'half.h': No such file or directory D:\Codes\source\win_openvdb\openvdb\Types.h 36 1 openvdb
Error 19 error C1083: Cannot open include file: 'half.h': No such file or directory D:\Codes\source\win_openvdb\openvdb\Types.h 36 1 openvdb
Error 21 error C1083: Cannot open include file: 'half.h': No such file or directory D:\Codes\source\win_openvdb\openvdb\Types.h 36 1 openvdb
Error 22 error C1083: Cannot open include file: 'half.h': No such file or directory D:\Codes\source\win_openvdb\openvdb\Types.h 36 1 openvdb
Error 23 error C1083: Cannot open include file: 'half.h': No such file or directory D:\Codes\source\win_openvdb\openvdb\Types.h 36 1 openvdb
Error 24 error C1083: Cannot open include file: 'half.h': No such file or directory d:\codes\source\win_openvdb\openvdb\Types.h 36 1 openvdb
Error 25 error C1083: Cannot open include file: 'half.h': No such file or directory d:\codes\source\win_openvdb\openvdb\Types.h 36 1 openvdb
Error 26 error C1083: Cannot open include file: 'half.h': No such file or directory D:\Codes\source\win_openvdb\openvdb\Types.h 36 1 openvdb
Error 27 error C1083: Cannot open include file: 'half.h': No such file or directory d:\codes\source\win_openvdb\openvdb\Types.h 36 1 vdb_print
Error 28 error C1083: Cannot open include file: 'ImfChannelList.h': No such file or directory D:\Codes\source\win_openvdb\openvdb\cmd\openvdb_render\main.cc 46 1 vdb_render
Error 29 error C1083: Cannot open include file: 'half.h': No such file or directory d:\codes\source\win_openvdb\openvdb\Types.h 36 1 vdb_view
Error 30 error C1083: Cannot open include file: 'half.h': No such file or directory D:\Codes\source\win_openvdb\openvdb\Types.h 36 1 vdb_view
Error 31 error C1083: Cannot open include file: 'half.h': No such file or directory D:\Codes\source\win_openvdb\openvdb\Types.h 36 1 vdb_view
Error 32 error C2144: syntax error : 'void' should be preceded by ';' C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1157 1 vdb_view
Error 33 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1157 1 vdb_view
Error 34 error C2146: syntax error : missing ';' before identifier 'glAccum' C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1157 1 vdb_view
Error 35 error C2182: 'APIENTRY' : illegal use of type 'void' C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1157 1 vdb_view
Error 36 error C2144: syntax error : 'void' should be preceded by ';' C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1158 1 vdb_view
Error 37 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1158 1 vdb_view
Error 38 error C2086: 'int WINGDIAPI' : redefinition C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1158 1 vdb_view
Error 39 error C2146: syntax error : missing ';' before identifier 'glAlphaFunc' C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1158 1 vdb_view
Error 40 error C2182: 'APIENTRY' : illegal use of type 'void' C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1158 1 vdb_view
Error 41 error C2086: 'int APIENTRY' : redefinition C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1158 1 vdb_view
Error 42 error C2146: syntax error : missing ';' before identifier 'GLboolean' C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1159 1 vdb_view
Error 43 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1159 1 vdb_view
Error 44 error C2086: 'int WINGDIAPI' : redefinition C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1159 1 vdb_view
Error 45 error C2146: syntax error : missing ';' before identifier 'glAreTexturesResident' C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1159 1 vdb_view
Error 46 error C2371: 'APIENTRY' : redefinition; different basic types C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1159 1 vdb_view
Error 47 error C2144: syntax error : 'void' should be preceded by ';' C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1160 1 vdb_view
Error 48 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1160 1 vdb_view
Error 49 error C2086: 'int WINGDIAPI' : redefinition C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1160 1 vdb_view
Error 50 error C2146: syntax error : missing ';' before identifier 'glArrayElement' C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1160 1 vdb_view
Error 51 error C2182: 'APIENTRY' : illegal use of type 'void' C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1160 1 vdb_view
Error 52 error C2086: 'int APIENTRY' : redefinition C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1160 1 vdb_view
Error 53 error C2144: syntax error : 'void' should be preceded by ';' C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1161 1 vdb_view
Error 54 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1161 1 vdb_view
Error 55 error C2086: 'int WINGDIAPI' : redefinition C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1161 1 vdb_view
Error 56 error C2146: syntax error : missing ';' before identifier 'glBegin' C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1161 1 vdb_view
Error 57 error C2182: 'APIENTRY' : illegal use of type 'void' C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1161 1 vdb_view
Error 58 error C2086: 'int APIENTRY' : redefinition C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1161 1 vdb_view
Error 59 error C2144: syntax error : 'void' should be preceded by ';' C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1162 1 vdb_view
Error 60 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1162 1 vdb_view
Error 61 error C2086: 'int WINGDIAPI' : redefinition C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1162 1 vdb_view
Error 62 error C2146: syntax error : missing ';' before identifier 'glBindTexture' C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1162 1 vdb_view
Error 63 error C2182: 'APIENTRY' : illegal use of type 'void' C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1162 1 vdb_view
Error 64 error C2086: 'int APIENTRY' : redefinition C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1162 1 vdb_view
Error 65 error C2144: syntax error : 'void' should be preceded by ';' C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1163 1 vdb_view
Error 66 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1163 1 vdb_view
Error 67 error C2086: 'int WINGDIAPI' : redefinition C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1163 1 vdb_view
Error 68 error C2146: syntax error : missing ';' before identifier 'glBitmap' C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1163 1 vdb_view
Error 69 error C2182: 'APIENTRY' : illegal use of type 'void' C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1163 1 vdb_view
Error 70 error C2086: 'int APIENTRY' : redefinition C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1163 1 vdb_view
Error 71 error C2144: syntax error : 'void' should be preceded by ';' C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1164 1 vdb_view
Error 72 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1164 1 vdb_view
Error 73 error C2086: 'int WINGDIAPI' : redefinition C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1164 1 vdb_view
Error 74 error C2146: syntax error : missing ';' before identifier 'glBlendFunc' C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1164 1 vdb_view
Error 75 error C2182: 'APIENTRY' : illegal use of type 'void' C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1164 1 vdb_view
Error 76 error C2086: 'int APIENTRY' : redefinition C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1164 1 vdb_view
Error 77 error C2144: syntax error : 'void' should be preceded by ';' C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1165 1 vdb_view
Error 78 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1165 1 vdb_view
Error 79 error C2086: 'int WINGDIAPI' : redefinition C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1165 1 vdb_view
Error 80 error C2146: syntax error : missing ';' before identifier 'glCallList' C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1165 1 vdb_view
Error 81 error C2182: 'APIENTRY' : illegal use of type 'void' C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1165 1 vdb_view
Error 82 error C2086: 'int APIENTRY' : redefinition C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1165 1 vdb_view
Error 83 error C2144: syntax error : 'void' should be preceded by ';' C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1166 1 vdb_view
Error 84 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1166 1 vdb_view
Error 85 error C2086: 'int WINGDIAPI' : redefinition C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1166 1 vdb_view
Error 86 error C2146: syntax error : missing ';' before identifier 'glCallLists' C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1166 1 vdb_view
Error 87 error C2182: 'APIENTRY' : illegal use of type 'void' C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1166 1 vdb_view
Error 88 error C2086: 'int APIENTRY' : redefinition C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1166 1 vdb_view
Error 89 error C2144: syntax error : 'void' should be preceded by ';' C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1167 1 vdb_view
Error 90 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1167 1 vdb_view
Error 91 error C2086: 'int WINGDIAPI' : redefinition C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1167 1 vdb_view
Error 92 error C2146: syntax error : missing ';' before identifier 'glClear' C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1167 1 vdb_view
Error 93 error C2182: 'APIENTRY' : illegal use of type 'void' C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1167 1 vdb_view
Error 94 error C2086: 'int APIENTRY' : redefinition C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1167 1 vdb_view
Error 95 error C2144: syntax error : 'void' should be preceded by ';' C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1168 1 vdb_view
Error 96 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1168 1 vdb_view
Error 97 error C2086: 'int WINGDIAPI' : redefinition C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1168 1 vdb_view
Error 98 error C2146: syntax error : missing ';' before identifier 'glClearAccum' C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1168 1 vdb_view
Error 99 error C2182: 'APIENTRY' : illegal use of type 'void' C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1168 1 vdb_view
Error 100 error C2086: 'int APIENTRY' : redefinition C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1168 1 vdb_view
Error 101 error C2144: syntax error : 'void' should be preceded by ';' C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1169 1 vdb_view
Error 102 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1169 1 vdb_view
Error 103 error C2086: 'int WINGDIAPI' : redefinition C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1169 1 vdb_view
Error 104 error C2146: syntax error : missing ';' before identifier 'glClearColor' C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1169 1 vdb_view
Error 105 error C2182: 'APIENTRY' : illegal use of type 'void' C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1169 1 vdb_view
Error 106 error C2086: 'int APIENTRY' : redefinition C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1169 1 vdb_view
Error 107 error C2144: syntax error : 'void' should be preceded by ';' C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1170 1 vdb_view
Error 108 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1170 1 vdb_view
Error 109 error C2086: 'int WINGDIAPI' : redefinition C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1170 1 vdb_view
Error 110 error C2146: syntax error : missing ';' before identifier 'glClearDepth' C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1170 1 vdb_view
Error 111 error C2182: 'APIENTRY' : illegal use of type 'void' C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1170 1 vdb_view
Error 112 error C2086: 'int APIENTRY' : redefinition C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1170 1 vdb_view
Error 113 error C2144: syntax error : 'void' should be preceded by ';' C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1171 1 vdb_view
Error 114 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1171 1 vdb_view
Error 115 error C2086: 'int WINGDIAPI' : redefinition C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1171 1 vdb_view
Error 116 error C2146: syntax error : missing ';' before identifier 'glClearIndex' C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1171 1 vdb_view
Error 117 error C2182: 'APIENTRY' : illegal use of type 'void' C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1171 1 vdb_view
Error 118 error C2086: 'int APIENTRY' : redefinition C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1171 1 vdb_view
Error 119 error C2144: syntax error : 'void' should be preceded by ';' C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1172 1 vdb_view
Error 120 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1172 1 vdb_view
Error 121 error C2086: 'int WINGDIAPI' : redefinition C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1172 1 vdb_view
Error 122 error C2146: syntax error : missing ';' before identifier 'glClearStencil' C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1172 1 vdb_view
Error 123 error C2182: 'APIENTRY' : illegal use of type 'void' C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1172 1 vdb_view
Error 124 error C2086: 'int APIENTRY' : redefinition C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1172 1 vdb_view
Error 125 error C2144: syntax error : 'void' should be preceded by ';' C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1173 1 vdb_view
Error 126 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1173 1 vdb_view
Error 127 error C2086: 'int WINGDIAPI' : redefinition C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1173 1 vdb_view
Error 128 error C2146: syntax error : missing ';' before identifier 'glClipPlane' C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1173 1 vdb_view
Error 129 error C2182: 'APIENTRY' : illegal use of type 'void' C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1173 1 vdb_view
Error 130 error C2086: 'int APIENTRY' : redefinition C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1173 1 vdb_view
Error 131 error C2144: syntax error : 'void' should be preceded by ';' C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1174 1 vdb_view
Error 132 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1174 1 vdb_view
Error 133 error C2086: 'int WINGDIAPI' : redefinition C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1174 1 vdb_view
Error 134 error C2146: syntax error : missing ';' before identifier 'glColor3b' C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1174 1 vdb_view
Error 135 error C2182: 'APIENTRY' : illegal use of type 'void' C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1174 1 vdb_view
Error 136 error C2086: 'int APIENTRY' : redefinition C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1174 1 vdb_view
Error 137 error C2144: syntax error : 'void' should be preceded by ';' C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1175 1 vdb_view
Error 138 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1175 1 vdb_view
Error 139 error C2086: 'int WINGDIAPI' : redefinition C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1175 1 vdb_view
Error 140 error C2146: syntax error : missing ';' before identifier 'glColor3bv' C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1175 1 vdb_view
Error 141 error C2182: 'APIENTRY' : illegal use of type 'void' C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1175 1 vdb_view
Error 142 error C2086: 'int APIENTRY' : redefinition C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1175 1 vdb_view
Error 143 error C2144: syntax error : 'void' should be preceded by ';' C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1176 1 vdb_view
Error 144 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1176 1 vdb_view
Error 145 error C2086: 'int WINGDIAPI' : redefinition C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1176 1 vdb_view
Error 146 error C2146: syntax error : missing ';' before identifier 'glColor3d' C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1176 1 vdb_view
Error 147 error C2182: 'APIENTRY' : illegal use of type 'void' C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1176 1 vdb_view
Error 148 error C2086: 'int APIENTRY' : redefinition C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1176 1 vdb_view
Error 149 error C2144: syntax error : 'void' should be preceded by ';' C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1177 1 vdb_view
Error 150 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1177 1 vdb_view
Error 151 error C2086: 'int WINGDIAPI' : redefinition C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1177 1 vdb_view
Error 152 error C2146: syntax error : missing ';' before identifier 'glColor3dv' C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1177 1 vdb_view
Error 153 error C2182: 'APIENTRY' : illegal use of type 'void' C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1177 1 vdb_view
Error 154 error C1003: error count exceeds 100; stopping compilation C:\Program Files (x86)\Windows Kits\8.1\Include\um\GL\gl.h 1177 1 vdb_view
Error 155 error C1083: Cannot open include file: 'half.h': No such file or directory d:\codes\source\win_openvdb\openvdb\Types.h 36 1 vdb_view
Error 156 error C1083: Cannot open include file: 'half.h': No such file or directory d:\codes\source\win_openvdb\openvdb\Types.h 36 1 vdb_view

This is the error list.
FYI, when i configure cmake, the OPENEXR_INCLUDE_DIRS AND ILMBASE_INCLUDE_DIRS cannot be found and have to be specified manually, so i guess that is the problem.

Thanks a lot.

Best,
Vincent

Rama Hoetzlein

unread,
Apr 23, 2015, 12:15:32 AM4/23/15
to openvd...@googlegroups.com

I am currently not running VS 2012, so I can't really provide much help here

The error for "Cannot open include file: 'half.h'" looks like an include issue.. However, if the config & generate succeeded, then this should have been taken care of by the CMake include.
Thus, this is probably a specific issue with VS 2012.. The other errors are even hard to guess about.
FYI, also, in the future -- you should always give some context for the errors:
Which solution is being built? Which project is being built? Can you build them one-at-a-time and identify which one produces these errors? What OS version? What version of VS 2012 service pack? These things are always useful and/or necessary to report when giving error logs.

As mentioned in the docs, I can only support VS 2010 right now. Sorry, I cant be of more help..
It's not possible for me to test right now, and it works for me on VS 2010.

chris golchert

unread,
Apr 23, 2015, 12:32:16 AM4/23/15
to openvd...@googlegroups.com
I got cmake complaining about:  (openEXR)

CMake Warning (dev) at IlmImf/CMakeLists.txt:189 (ADD_DEPENDENCIES):

Policy CMP0046 is not set: Error on non-existent dependency in

add_dependencies. Run "cmake --help-policy CMP0046" for policy details.

Use the cmake_policy command to set the policy and suppress this warning.


The dependency target "b44ExpLogTable" of target "IlmImf" does not exist.

This warning is for project developers. Use -Wno-dev to suppress it.

CMake Warning (dev) at IlmImf/CMakeLists.txt:198 (ADD_DEPENDENCIES):

Policy CMP0046 is not set: Error on non-existent dependency in

add_dependencies. Run "cmake --help-policy CMP0046" for policy details.

Use the cmake_policy command to set the policy and suppress this warning.


The dependency target "dwaLookups" of target "IlmImf" does not exist.

This warning is for project developers. Use -Wno-dev to suppress it.


and then these on the OpenEXR build


Error 335 error C1083: Cannot open include file: 'zlib.h': No such file or directory X:\VDB2015\codes\source\win_openexr\OpenEXR\IlmImf\ImfZipCompressor.cpp 46

Error 393 error C1083: Cannot open include file: 'zlib.h': No such file or directory X:\VDB2015\codes\source\win_openexr\OpenEXR\IlmImf\ImfDwaCompressor.cpp 168

Error 763 error C1083: Cannot open include file: 'zlib.h': No such file or directory X:\VDB2015\codes\source\win_openexr\OpenEXR\IlmImf\ImfPxr24Compressor.cpp 77

Error 1282 error C1083: Cannot open include file: 'zlib.h': No such file or directory X:\VDB2015\codes\source\win_openexr\OpenEXR\IlmImf\ImfZip.cpp 41

Error 2038 error LNK1181: cannot open input file '..\IlmImf\Release\IlmImf.lib' X:\VDB2015\codes\build\OpenEXR\IlmImfUtil\LINK

Error 2366 error LNK1181: cannot open input file '..\IlmImfUtil\Release\IlmImfUtil.lib' X:\VDB2015\codes\build\OpenEXR\IlmImfUtilTest\LINK

Error 2667 error LNK1181: cannot open input file '..\IlmImf\Release\IlmImf.lib' X:\VDB2015\codes\build\OpenEXR\exrenvmap\LINK

Error 2705 error LNK1181: cannot open input file '..\IlmImf\Release\IlmImf.lib' X:\VDB2015\codes\build\OpenEXR\IlmImfFuzzTest\LINK

Error 2794 error LNK1181: cannot open input file '..\IlmImf\Release\IlmImf.lib' X:\VDB2015\codes\build\OpenEXR\exrmakepreview\LINK

Error 2819 error LNK1181: cannot open input file '..\IlmImf\Release\IlmImf.lib' X:\VDB2015\codes\build\OpenEXR\exrheader\LINK

Error 2970 error LNK1181: cannot open input file '..\IlmImf\Release\IlmImf.lib' X:\VDB2015\codes\build\OpenEXR\IlmImfExamples\LINK

Error 3039 error LNK1181: cannot open input file '..\IlmImf\Release\IlmImf.lib' X:\VDB2015\codes\build\OpenEXR\exrmultipart\LINK

Error 3216 error LNK1181: cannot open input file '..\IlmImf\Release\IlmImf.lib' X:\VDB2015\codes\build\OpenEXR\exrstdattr\LINK

Error 3268 error LNK1181: cannot open input file '..\IlmImf\Release\IlmImf.lib' X:\VDB2015\codes\build\OpenEXR\exrmultiview\LINK

Error 3275 error LNK1181: cannot open input file '..\IlmImf\Release\IlmImf.lib' X:\VDB2015\codes\build\OpenEXR\IlmImfTest\LINK


When I add the zlib folder as an include I start getting:

Error 1 error C1083: Cannot open include file: 'zconf.h': No such file or directory X:\VDB2015\codes\source\zlib\zlib.h 34

Error 2 error C1083: Cannot open include file: 'zconf.h': No such file or directory X:\VDB2015\codes\source\zlib\zlib.h 34

Error 3 error C1083: Cannot open include file: 'zconf.h': No such file or directory X:\VDB2015\codes\source\zlib\zlib.h 34

Error 4 error C1083: Cannot open include file: 'zconf.h': No such file or directory X:\VDB2015\codes\source\zlib\zlib.h 34


Rama Hoetzlein

unread,
Apr 23, 2015, 12:48:32 AM4/23/15
to openvd...@googlegroups.com
Chris,

Can you please post the full output of the CMake configure which is failing?
Also, please confirm that you're using VS 2010, Win 7 64-bit.. Which version of cmake?

This looks like an issue regarding the order in which you perform the cmake and build steps.
The order of the instructions must be followed; with Zlib first (cloned from rhoetzlein, not your own), then IlmBase, then OpenEXR, then OpenVDB.
For each you must perform cmake and successful build before moving on to the next.

Best,
Rama

Vincent tan Sin chia

unread,
Apr 23, 2015, 12:56:58 AM4/23/15
to openvd...@googlegroups.com
Hi Rama,

No problem, i will try to see if it works or not. Thanks a lot for your much help by the way.
Thanks.


Best regards,
Vincent Tan

Vincent tan Sin chia

unread,
Apr 23, 2015, 2:20:47 AM4/23/15
to openvd...@googlegroups.com
Hi Chris,

I have encountered this problem before. For me, the solution was to manually add the zlib library to the project of IlmImf. 
Try to add the include folder from the built zlib to the include directories in VC++ include directory and zlib lib folder to VC++ library directory as well.
After that, try compile the IlmImf first and see if the problem goes away.
If it does go away, then try build ALL_BUILD and finally you shall get the same result as Rama.




Regards,
Vincent

Vincent tan Sin chia

unread,
Apr 23, 2015, 2:29:45 AM4/23/15
to openvd...@googlegroups.com
Hi Rama,

I have repeated all the steps required in generating the libraries and finally managed to output the solution of OpenVDB without any previous Cmake problems. However, after i try to build the project of openvdb rather than ALL_BUILD at the first time, errors are returned as below: (In case you might know what exactly is the problem regarding these errors)

In this case, the project of openvdb is built under the solution of OpenVDB, the other projects seem to depend on openvdb, thus, there should be no problem with other projects.
FYI, the errors seem to be very closely related to boost::mpl class from boost library.
I have searched online that it is possibly the compiler issues or bugs of msvc 12, however, i will be pleased that if anyone points out that this is kind of building process fault because i have no VS2010 on my machine right now.

BTW, errors are as below:
Error 40 error C2903: 'apply' : symbol is neither a class template nor a function template D:\Codes\build\boost_1_57_0\boost\mpl\push_back.hpp 31 1 openvdb
Error 41 error C2039: 'apply' : is not a member of 'boost::mpl::push_back_impl<boost::mpl::non_sequence_tag>' D:\Codes\build\boost_1_57_0\boost\mpl\push_back.hpp 31 1 openvdb
Error 42 error C2955: 'boost::mpl::apply' : use of class template requires template argument list D:\Codes\build\boost_1_57_0\boost\mpl\push_back.hpp 31 1 openvdb
Error 43 error C2143: syntax error : missing ',' before '<' D:\Codes\build\boost_1_57_0\boost\mpl\push_back.hpp 31 1 openvdb
Error 21 error C2039: 'LEVEL' : is not a member of 'openvdb::v3_0_0::tree::LeafNode<T,3>' d:\codes\source\win_openvdb\openvdb\tree\InternalNode.h 77 1 openvdb
Error 22 error C2065: 'LEVEL' : undeclared identifier d:\codes\source\win_openvdb\openvdb\tree\InternalNode.h 77 1 openvdb
Error 23 error C2057: expected constant expression d:\codes\source\win_openvdb\openvdb\tree\InternalNode.h 77 1 openvdb
Error 60 error C2039: 'LEVEL' : is not a member of 'openvdb::v3_0_0::tree::LeafNode<T,3>' d:\codes\source\win_openvdb\openvdb\tree\InternalNode.h 77 1 openvdb
Error 70 error C2039: 'LEVEL' : is not a member of 'openvdb::v3_0_0::tree::LeafNode<T,3>' d:\codes\source\win_openvdb\openvdb\tree\InternalNode.h 77 1 openvdb
Error 80 error C2039: 'LEVEL' : is not a member of 'openvdb::v3_0_0::tree::LeafNode<T,3>' d:\codes\source\win_openvdb\openvdb\tree\InternalNode.h 77 1 openvdb
Error 90 error C2039: 'LEVEL' : is not a member of 'openvdb::v3_0_0::tree::LeafNode<T,3>' d:\codes\source\win_openvdb\openvdb\tree\InternalNode.h 77 1 openvdb
Error 100 error C2039: 'LEVEL' : is not a member of 'openvdb::v3_0_0::tree::LeafNode<T,3>' d:\codes\source\win_openvdb\openvdb\tree\InternalNode.h 77 1 openvdb
Error 110 error C2039: 'LEVEL' : is not a member of 'openvdb::v3_0_0::tree::LeafNode<T,3>' d:\codes\source\win_openvdb\openvdb\tree\InternalNode.h 77 1 openvdb
Error 120 error C2039: 'LEVEL' : is not a member of 'openvdb::v3_0_0::tree::LeafNode<T,3>' d:\codes\source\win_openvdb\openvdb\tree\InternalNode.h 77 1 openvdb
Error 20 error C2226: syntax error : unexpected type 'SIZE' d:\codes\source\win_openvdb\openvdb\tree\LeafNode.h 79 1 openvdb
Error 24 error C2057: expected constant expression d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 82 1 openvdb
Error 25 error C2975: 'HeadLevel' : invalid template argument for 'openvdb::v3_0_0::tree::NodeChain', expected compile-time constant expression d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 85 1 openvdb
Error 49 error C2039: 'Type' : is not a member of 'openvdb::v3_0_0::tree::NodeChain<openvdb::v3_0_0::tree::RootNode<openvdb::v3_0_0::tree::InternalNode<openvdb::v3_0_0::tree::InternalNode<openvdb::v3_0_0::tree::LeafNode<T,3>,4>,5>>,0>' d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 85 1 openvdb
Error 50 error C2146: syntax error : missing ';' before identifier 'NodeChainType' d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 85 1 openvdb
Error 51 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 85 1 openvdb
Error 69 error C2039: 'Type' : is not a member of 'openvdb::v3_0_0::tree::NodeChain<openvdb::v3_0_0::tree::RootNode<openvdb::v3_0_0::tree::InternalNode<openvdb::v3_0_0::tree::InternalNode<openvdb::v3_0_0::tree::LeafNode<T,3>,4>,5>>,0>' d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 85 1 openvdb
Error 79 error C2039: 'Type' : is not a member of 'openvdb::v3_0_0::tree::NodeChain<openvdb::v3_0_0::tree::RootNode<openvdb::v3_0_0::tree::InternalNode<openvdb::v3_0_0::tree::InternalNode<openvdb::v3_0_0::tree::LeafNode<T,3>,4>,5>>,0>' d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 85 1 openvdb
Error 89 error C2039: 'Type' : is not a member of 'openvdb::v3_0_0::tree::NodeChain<openvdb::v3_0_0::tree::RootNode<openvdb::v3_0_0::tree::InternalNode<openvdb::v3_0_0::tree::InternalNode<openvdb::v3_0_0::tree::LeafNode<T,3>,4>,5>>,0>' d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 85 1 openvdb
Error 99 error C2039: 'Type' : is not a member of 'openvdb::v3_0_0::tree::NodeChain<openvdb::v3_0_0::tree::RootNode<openvdb::v3_0_0::tree::InternalNode<openvdb::v3_0_0::tree::InternalNode<openvdb::v3_0_0::tree::LeafNode<T,3>,4>,5>>,0>' d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 85 1 openvdb
Error 109 error C2039: 'Type' : is not a member of 'openvdb::v3_0_0::tree::NodeChain<openvdb::v3_0_0::tree::RootNode<openvdb::v3_0_0::tree::InternalNode<openvdb::v3_0_0::tree::InternalNode<openvdb::v3_0_0::tree::LeafNode<T,3>,4>,5>>,0>' d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 85 1 openvdb
Error 119 error C2039: 'Type' : is not a member of 'openvdb::v3_0_0::tree::NodeChain<openvdb::v3_0_0::tree::RootNode<openvdb::v3_0_0::tree::InternalNode<openvdb::v3_0_0::tree::InternalNode<openvdb::v3_0_0::tree::LeafNode<T,3>,4>,5>>,0>' d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 85 1 openvdb
Error 52 error C2065: 'NodeChainType' : undeclared identifier d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 86 1 openvdb
Error 53 error C2923: 'boost::mpl::size' : 'NodeChainType' is not a valid template type argument for parameter 'Sequence' d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 86 1 openvdb
Error 54 error C2955: 'boost::mpl::size' : use of class template requires template argument list d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 86 1 openvdb
Error 55 error C2039: 'value' : is not a member of 'boost::mpl::size' d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 86 1 openvdb
Error 56 error C2065: 'value' : undeclared identifier d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 86 1 openvdb
Error 57 error C2057: expected constant expression D:\Codes\source\win_openvdb\openvdb\tree\Tree.h 213 1 openvdb
Error 58 error C2975: 'CacheLevels' : invalid template argument for 'openvdb::v3_0_0::tree::ValueAccessor', expected compile-time constant expression d:\codes\source\win_openvdb\openvdb\Grid.h 493 1 openvdb
Error 59 error C2975: 'CacheLevels' : invalid template argument for 'openvdb::v3_0_0::tree::ValueAccessor', expected compile-time constant expression d:\codes\source\win_openvdb\openvdb\Grid.h 494 1 openvdb
Error 26 error C2039: 'ChildNodeType' : is not a member of 'openvdb::v3_0_0::tree::LeafNode<T,3>' d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 960 1 openvdb
Error 27 error C2146: syntax error : missing ',' before identifier 'ChildNodeType' d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 960 1 openvdb
Error 28 error C2065: 'ChildNodeType' : undeclared identifier d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 960 1 openvdb
Error 29 error C2977: 'openvdb::v3_0_0::tree::NodeChain' : too many template arguments d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 960 1 openvdb
Error 30 error C2146: syntax error : missing ';' before identifier 'SubtreeT' d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 960 1 openvdb
Error 31 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 960 1 openvdb
Error 45 error C2039: 'Type' : is not a member of 'openvdb::v3_0_0::tree::NodeChain<openvdb::v3_0_0::tree::InternalNode<openvdb::v3_0_0::tree::LeafNode<T,3>,4>,-2>' d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 960 1 openvdb
Error 61 error C2039: 'ChildNodeType' : is not a member of 'openvdb::v3_0_0::tree::LeafNode<T,3>' d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 960 1 openvdb
Error 65 error C2039: 'Type' : is not a member of 'openvdb::v3_0_0::tree::NodeChain<openvdb::v3_0_0::tree::InternalNode<openvdb::v3_0_0::tree::LeafNode<T,3>,4>,-2>' d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 960 1 openvdb
Error 71 error C2039: 'ChildNodeType' : is not a member of 'openvdb::v3_0_0::tree::LeafNode<T,3>' d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 960 1 openvdb
Error 75 error C2039: 'Type' : is not a member of 'openvdb::v3_0_0::tree::NodeChain<openvdb::v3_0_0::tree::InternalNode<openvdb::v3_0_0::tree::LeafNode<T,3>,4>,-2>' d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 960 1 openvdb
Error 81 error C2039: 'ChildNodeType' : is not a member of 'openvdb::v3_0_0::tree::LeafNode<T,3>' d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 960 1 openvdb
Error 85 error C2039: 'Type' : is not a member of 'openvdb::v3_0_0::tree::NodeChain<openvdb::v3_0_0::tree::InternalNode<openvdb::v3_0_0::tree::LeafNode<T,3>,4>,-2>' d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 960 1 openvdb
Error 91 error C2039: 'ChildNodeType' : is not a member of 'openvdb::v3_0_0::tree::LeafNode<T,3>' d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 960 1 openvdb
Error 95 error C2039: 'Type' : is not a member of 'openvdb::v3_0_0::tree::NodeChain<openvdb::v3_0_0::tree::InternalNode<openvdb::v3_0_0::tree::LeafNode<T,3>,4>,-2>' d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 960 1 openvdb
Error 101 error C2039: 'ChildNodeType' : is not a member of 'openvdb::v3_0_0::tree::LeafNode<T,3>' d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 960 1 openvdb
Error 105 error C2039: 'Type' : is not a member of 'openvdb::v3_0_0::tree::NodeChain<openvdb::v3_0_0::tree::InternalNode<openvdb::v3_0_0::tree::LeafNode<T,3>,4>,-2>' d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 960 1 openvdb
Error 111 error C2039: 'ChildNodeType' : is not a member of 'openvdb::v3_0_0::tree::LeafNode<T,3>' d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 960 1 openvdb
Error 115 error C2039: 'Type' : is not a member of 'openvdb::v3_0_0::tree::NodeChain<openvdb::v3_0_0::tree::InternalNode<openvdb::v3_0_0::tree::LeafNode<T,3>,4>,-2>' d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 960 1 openvdb
Error 121 error C2039: 'ChildNodeType' : is not a member of 'openvdb::v3_0_0::tree::LeafNode<T,3>' d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 960 1 openvdb
Error 32 error C2065: 'SubtreeT' : undeclared identifier d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 961 1 openvdb
Error 33 error C2923: 'boost::mpl::push_back' : 'SubtreeT' is not a valid template type argument for parameter 'Sequence' d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 961 1 openvdb
Error 34 error C2955: 'boost::mpl::push_back' : use of class template requires template argument list d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 961 1 openvdb
Error 35 error C2039: 'type' : is not a member of 'boost::mpl::push_back' d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 961 1 openvdb
Error 36 error C2146: syntax error : missing ';' before identifier 'Type' d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 961 1 openvdb
Error 37 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 961 1 openvdb
Error 38 error C2602: 'openvdb::v3_0_0::tree::NodeChain<openvdb::v3_0_0::tree::LeafNode<T,3>,-3>::Type' is not a member of a base class of 'openvdb::v3_0_0::tree::NodeChain<openvdb::v3_0_0::tree::LeafNode<T,3>,-3>' d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 961 1 openvdb
Error 39 error C2868: 'openvdb::v3_0_0::tree::NodeChain<openvdb::v3_0_0::tree::LeafNode<T,3>,-3>::Type' : illegal syntax for using-declaration; expected qualified-name d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 961 1 openvdb
Error 44 error C2039: 'type' : is not a member of 'boost::mpl::push_back<int,HeadT>' d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 961 1 openvdb
Error 46 error C2602: 'openvdb::v3_0_0::tree::NodeChain<openvdb::v3_0_0::tree::InternalNode<openvdb::v3_0_0::tree::InternalNode<openvdb::v3_0_0::tree::LeafNode<T,3>,4>,5>,-1>::Type' is not a member of a base class of 'openvdb::v3_0_0::tree::NodeChain<openvdb::v3_0_0::tree::InternalNode<openvdb::v3_0_0::tree::InternalNode<openvdb::v3_0_0::tree::LeafNode<T,3>,4>,5>,-1>' d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 961 1 openvdb
Error 47 error C2868: 'openvdb::v3_0_0::tree::NodeChain<openvdb::v3_0_0::tree::InternalNode<openvdb::v3_0_0::tree::InternalNode<openvdb::v3_0_0::tree::LeafNode<T,3>,4>,5>,-1>::Type' : illegal syntax for using-declaration; expected qualified-name d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 961 1 openvdb
Error 48 error C2039: 'type' : is not a member of 'boost::mpl::push_back<int,HeadT>' d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 961 1 openvdb
Error 62 error C2602: 'openvdb::v3_0_0::tree::NodeChain<openvdb::v3_0_0::tree::LeafNode<T,3>,-3>::Type' is not a member of a base class of 'openvdb::v3_0_0::tree::NodeChain<openvdb::v3_0_0::tree::LeafNode<T,3>,-3>' d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 961 1 openvdb
Error 63 error C2868: 'openvdb::v3_0_0::tree::NodeChain<openvdb::v3_0_0::tree::LeafNode<T,3>,-3>::Type' : illegal syntax for using-declaration; expected qualified-name d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 961 1 openvdb
Error 64 error C2039: 'type' : is not a member of 'boost::mpl::push_back<int,HeadT>' d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 961 1 openvdb
Error 66 error C2602: 'openvdb::v3_0_0::tree::NodeChain<openvdb::v3_0_0::tree::InternalNode<openvdb::v3_0_0::tree::InternalNode<openvdb::v3_0_0::tree::LeafNode<T,3>,4>,5>,-1>::Type' is not a member of a base class of 'openvdb::v3_0_0::tree::NodeChain<openvdb::v3_0_0::tree::InternalNode<openvdb::v3_0_0::tree::InternalNode<openvdb::v3_0_0::tree::LeafNode<T,3>,4>,5>,-1>' d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 961 1 openvdb
Error 67 error C2868: 'openvdb::v3_0_0::tree::NodeChain<openvdb::v3_0_0::tree::InternalNode<openvdb::v3_0_0::tree::InternalNode<openvdb::v3_0_0::tree::LeafNode<T,3>,4>,5>,-1>::Type' : illegal syntax for using-declaration; expected qualified-name d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 961 1 openvdb
Error 68 error C2039: 'type' : is not a member of 'boost::mpl::push_back<int,HeadT>' d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 961 1 openvdb
Error 72 error C2602: 'openvdb::v3_0_0::tree::NodeChain<openvdb::v3_0_0::tree::LeafNode<T,3>,-3>::Type' is not a member of a base class of 'openvdb::v3_0_0::tree::NodeChain<openvdb::v3_0_0::tree::LeafNode<T,3>,-3>' d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 961 1 openvdb
Error 73 error C2868: 'openvdb::v3_0_0::tree::NodeChain<openvdb::v3_0_0::tree::LeafNode<T,3>,-3>::Type' : illegal syntax for using-declaration; expected qualified-name d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 961 1 openvdb
Error 74 error C2039: 'type' : is not a member of 'boost::mpl::push_back<int,HeadT>' d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 961 1 openvdb
Error 76 error C2602: 'openvdb::v3_0_0::tree::NodeChain<openvdb::v3_0_0::tree::InternalNode<openvdb::v3_0_0::tree::InternalNode<openvdb::v3_0_0::tree::LeafNode<T,3>,4>,5>,-1>::Type' is not a member of a base class of 'openvdb::v3_0_0::tree::NodeChain<openvdb::v3_0_0::tree::InternalNode<openvdb::v3_0_0::tree::InternalNode<openvdb::v3_0_0::tree::LeafNode<T,3>,4>,5>,-1>' d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 961 1 openvdb
Error 77 error C2868: 'openvdb::v3_0_0::tree::NodeChain<openvdb::v3_0_0::tree::InternalNode<openvdb::v3_0_0::tree::InternalNode<openvdb::v3_0_0::tree::LeafNode<T,3>,4>,5>,-1>::Type' : illegal syntax for using-declaration; expected qualified-name d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 961 1 openvdb
Error 78 error C2039: 'type' : is not a member of 'boost::mpl::push_back<int,HeadT>' d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 961 1 openvdb
Error 82 error C2602: 'openvdb::v3_0_0::tree::NodeChain<openvdb::v3_0_0::tree::LeafNode<T,3>,-3>::Type' is not a member of a base class of 'openvdb::v3_0_0::tree::NodeChain<openvdb::v3_0_0::tree::LeafNode<T,3>,-3>' d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 961 1 openvdb
Error 83 error C2868: 'openvdb::v3_0_0::tree::NodeChain<openvdb::v3_0_0::tree::LeafNode<T,3>,-3>::Type' : illegal syntax for using-declaration; expected qualified-name d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 961 1 openvdb
Error 84 error C2039: 'type' : is not a member of 'boost::mpl::push_back<int,HeadT>' d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 961 1 openvdb
Error 86 error C2602: 'openvdb::v3_0_0::tree::NodeChain<openvdb::v3_0_0::tree::InternalNode<openvdb::v3_0_0::tree::InternalNode<openvdb::v3_0_0::tree::LeafNode<T,3>,4>,5>,-1>::Type' is not a member of a base class of 'openvdb::v3_0_0::tree::NodeChain<openvdb::v3_0_0::tree::InternalNode<openvdb::v3_0_0::tree::InternalNode<openvdb::v3_0_0::tree::LeafNode<T,3>,4>,5>,-1>' d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 961 1 openvdb
Error 87 error C2868: 'openvdb::v3_0_0::tree::NodeChain<openvdb::v3_0_0::tree::InternalNode<openvdb::v3_0_0::tree::InternalNode<openvdb::v3_0_0::tree::LeafNode<T,3>,4>,5>,-1>::Type' : illegal syntax for using-declaration; expected qualified-name d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 961 1 openvdb
Error 88 error C2039: 'type' : is not a member of 'boost::mpl::push_back<int,HeadT>' d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 961 1 openvdb
Error 92 error C2602: 'openvdb::v3_0_0::tree::NodeChain<openvdb::v3_0_0::tree::LeafNode<T,3>,-3>::Type' is not a member of a base class of 'openvdb::v3_0_0::tree::NodeChain<openvdb::v3_0_0::tree::LeafNode<T,3>,-3>' d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 961 1 openvdb
Error 93 error C2868: 'openvdb::v3_0_0::tree::NodeChain<openvdb::v3_0_0::tree::LeafNode<T,3>,-3>::Type' : illegal syntax for using-declaration; expected qualified-name d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 961 1 openvdb
Error 94 error C2039: 'type' : is not a member of 'boost::mpl::push_back<int,HeadT>' d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 961 1 openvdb
Error 96 error C2602: 'openvdb::v3_0_0::tree::NodeChain<openvdb::v3_0_0::tree::InternalNode<openvdb::v3_0_0::tree::InternalNode<openvdb::v3_0_0::tree::LeafNode<T,3>,4>,5>,-1>::Type' is not a member of a base class of 'openvdb::v3_0_0::tree::NodeChain<openvdb::v3_0_0::tree::InternalNode<openvdb::v3_0_0::tree::InternalNode<openvdb::v3_0_0::tree::LeafNode<T,3>,4>,5>,-1>' d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 961 1 openvdb
Error 97 error C2868: 'openvdb::v3_0_0::tree::NodeChain<openvdb::v3_0_0::tree::InternalNode<openvdb::v3_0_0::tree::InternalNode<openvdb::v3_0_0::tree::LeafNode<T,3>,4>,5>,-1>::Type' : illegal syntax for using-declaration; expected qualified-name d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 961 1 openvdb
Error 98 error C2039: 'type' : is not a member of 'boost::mpl::push_back<int,HeadT>' d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 961 1 openvdb
Error 102 error C2602: 'openvdb::v3_0_0::tree::NodeChain<openvdb::v3_0_0::tree::LeafNode<T,3>,-3>::Type' is not a member of a base class of 'openvdb::v3_0_0::tree::NodeChain<openvdb::v3_0_0::tree::LeafNode<T,3>,-3>' d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 961 1 openvdb
Error 103 error C2868: 'openvdb::v3_0_0::tree::NodeChain<openvdb::v3_0_0::tree::LeafNode<T,3>,-3>::Type' : illegal syntax for using-declaration; expected qualified-name d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 961 1 openvdb
Error 104 error C2039: 'type' : is not a member of 'boost::mpl::push_back<int,HeadT>' d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 961 1 openvdb
Error 106 error C2602: 'openvdb::v3_0_0::tree::NodeChain<openvdb::v3_0_0::tree::InternalNode<openvdb::v3_0_0::tree::InternalNode<openvdb::v3_0_0::tree::LeafNode<T,3>,4>,5>,-1>::Type' is not a member of a base class of 'openvdb::v3_0_0::tree::NodeChain<openvdb::v3_0_0::tree::InternalNode<openvdb::v3_0_0::tree::InternalNode<openvdb::v3_0_0::tree::LeafNode<T,3>,4>,5>,-1>' d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 961 1 openvdb
Error 107 error C2868: 'openvdb::v3_0_0::tree::NodeChain<openvdb::v3_0_0::tree::InternalNode<openvdb::v3_0_0::tree::InternalNode<openvdb::v3_0_0::tree::LeafNode<T,3>,4>,5>,-1>::Type' : illegal syntax for using-declaration; expected qualified-name d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 961 1 openvdb
Error 108 error C2039: 'type' : is not a member of 'boost::mpl::push_back<int,HeadT>' d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 961 1 openvdb
Error 112 error C2602: 'openvdb::v3_0_0::tree::NodeChain<openvdb::v3_0_0::tree::LeafNode<T,3>,-3>::Type' is not a member of a base class of 'openvdb::v3_0_0::tree::NodeChain<openvdb::v3_0_0::tree::LeafNode<T,3>,-3>' d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 961 1 openvdb
Error 113 error C2868: 'openvdb::v3_0_0::tree::NodeChain<openvdb::v3_0_0::tree::LeafNode<T,3>,-3>::Type' : illegal syntax for using-declaration; expected qualified-name d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 961 1 openvdb
Error 114 error C2039: 'type' : is not a member of 'boost::mpl::push_back<int,HeadT>' d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 961 1 openvdb
Error 116 error C2602: 'openvdb::v3_0_0::tree::NodeChain<openvdb::v3_0_0::tree::InternalNode<openvdb::v3_0_0::tree::InternalNode<openvdb::v3_0_0::tree::LeafNode<T,3>,4>,5>,-1>::Type' is not a member of a base class of 'openvdb::v3_0_0::tree::NodeChain<openvdb::v3_0_0::tree::InternalNode<openvdb::v3_0_0::tree::InternalNode<openvdb::v3_0_0::tree::LeafNode<T,3>,4>,5>,-1>' d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 961 1 openvdb
Error 117 error C2868: 'openvdb::v3_0_0::tree::NodeChain<openvdb::v3_0_0::tree::InternalNode<openvdb::v3_0_0::tree::InternalNode<openvdb::v3_0_0::tree::LeafNode<T,3>,4>,5>,-1>::Type' : illegal syntax for using-declaration; expected qualified-name d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 961 1 openvdb
Error 118 error C2039: 'type' : is not a member of 'boost::mpl::push_back<int,HeadT>' d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 961 1 openvdb
Error 122 error C2602: 'openvdb::v3_0_0::tree::NodeChain<openvdb::v3_0_0::tree::LeafNode<T,3>,-3>::Type' is not a member of a base class of 'openvdb::v3_0_0::tree::NodeChain<openvdb::v3_0_0::tree::LeafNode<T,3>,-3>' d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 961 1 openvdb
Error 123 error C2868: 'openvdb::v3_0_0::tree::NodeChain<openvdb::v3_0_0::tree::LeafNode<T,3>,-3>::Type' : illegal syntax for using-declaration; expected qualified-name d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 961 1 openvdb
Error 124 error C1003: error count exceeds 100; stopping compilation d:\codes\source\win_openvdb\openvdb\tree\RootNode.h 961 1 openvdb



Vincent tan Sin chia

unread,
Apr 23, 2015, 11:35:36 PM4/23/15
to openvd...@googlegroups.com
Hi Rama,

Thanks for your guide on building OpenVDB on Windows.
FYI, i have finally successfully built out OpenVDB using yours target platform(have no choice but to revert back to vs2010).
BTW, can i ask you some questions in regards of VDB viewer, it is because vdb_view is the one actually failed to be compiled due to issues with opengl..
Thus, is there happens to be some way to get it working??


Best regards,
Vincent Tan

Vincent tan Sin chia

unread,
Apr 24, 2015, 4:05:16 AM4/24/15
to openvd...@googlegroups.com
Hi all,

Is there any Windows equivalent of the following code snippet??

secs = fabs(secs);
    int isecs = int(secs);
    struct timespec sleepTime = { isecs /*sec*/, int(1.0e9 * (secs - isecs)) /*nsec*/ };
    nanosleep(&sleepTime, /*remainingTime=*/NULL);

This is because i dont know what is the meaning of this code, thus, dont know how to convert it for Windows.

Thanks a lot.

Best regards,
Vincent Tan

Rama Hoetzlein

unread,
Apr 24, 2015, 4:20:02 AM4/24/15
to openvd...@googlegroups.com
Since this is on VS2010, I modified vdb_view so that it would work.
All you need to do is delete your \source\openvdb folder, then re-clone it.
You were headed in the right direction /w the sleep function, but there were many more changes before vdb_view would run w/o crash.
Now you can just run cmake again and rebuild.

The following is for OpenVDB devs, quick summary of vdb_view changes for Windows:
- Included <windows.h> to prevent opengl compile errors
- Included glfw3 properly, and linked with glfw3 library (in cmake)
- Included GL/glew.h before all GL/gl.h (required)
- Added Sleep() func for windows.
- Added glewInit() (not doing this was causing the segfault on startup)
- Placed glewInit after glfwMakeContextCurrent (required to start glew after opengl context)
- Added glfwWindowHint for major & minor version set to 3.2. (required for glewInit to start properly)
- Added boost_chrono, boost_thread, and glew3 DLLs to the release output folder for vdb_view to run.
- Should still cross-complile with Linux/Mac since I used the _WIN32 flag
See the win_openvdb fork for specifics.



Vincent tan Sin chia

unread,
Apr 24, 2015, 4:26:07 AM4/24/15
to openvd...@googlegroups.com
Hi Rama,

Thanks a lot for your effort. Will try to compile it again.

Thanks again.



Best regards,
Vincent Tan

Vincent tan Sin chia

unread,
Apr 24, 2015, 4:29:21 AM4/24/15
to openvd...@googlegroups.com
Hi Rama,

Ya, there were a lot of things to changed and i have followed the guide by nick avramoussis from your link in which he mentioned about changing the header file to GL/glew.h as well as GLFW/glfw3.h but i dont really aware of other issues.

Thanks a lot BTW.



Best regards,
Vincent Tan

Vincent tan Sin chia

unread,
Apr 24, 2015, 4:32:31 AM4/24/15
to openvd...@googlegroups.com
Hi all,

I have just browsed through this thread of solution towards errors happened during compilation of OpenVDB on VS2013.
In the thread, the author asked whether changes that he made to enable the compilation to be successful are correct or not.
The link to the thread is as below:




Best regards,
Vincent Tan

Rama Hoetzlein

unread,
Apr 24, 2015, 4:41:59 AM4/24/15
to openvd...@googlegroups.com
Since I don't have VS2012/2013 currently, you and Ram Sampath are welcome to try it out yourselves.
My recommendation is to use the win_openvdb and win_openexr as a starting point, since this solves many of the cmake issues. Therefore, you could try this approach:
- Follow the VS2010 instructions for win_openvdb
- Then, go into \source and modify the code exactly as Ram S. says.
- I would strongly recommend that you use the compiler directives, so that you provide both code pathways for VS2010 and VS2012/13
       http://stackoverflow.com/questions/70013/how-to-detect-if-im-compiling-code-with-visual-studio-2008
#if ( _MSC_VER==1600 ) 
     {original code for VS2010}
#elif ( _MSC_VER==1700 )
     {code for VS2012}
#endif

- Redo the CMake configure, which will send those changes into to the \build sln.
- Then using VS2012/13 rebuild the solution.

If this works, please send me a copy of the changed files, and I will incorporate them into the win_openvdb fork.

Vincent tan Sin chia

unread,
Apr 24, 2015, 4:49:21 AM4/24/15
to openvd...@googlegroups.com
Hi Rama,

Thanks a lot for the guides, if i can make it works unders VS2013, will definitely send you a copy of the changed files.

chris golchert

unread,
Apr 25, 2015, 12:29:23 PM4/25/15
to openvd...@googlegroups.com
Since you asked...

  I was actually trying under vs2012 since that is what was available on this system.  All my linking issues always revolved around openexr.  

  I got on a system that had vs2010 but that would fail at the zlib cmake step with it claiming that the installation was broken.  It had no problems compiling anything fed to it outside of cmake.

I have a few other options to try.

Rama Hoetzlein

unread,
Apr 25, 2015, 10:22:01 PM4/25/15
to openvd...@googlegroups.com
Chris,
For vs2010, try my own fork of the zlib library. It contains vcproj for 64-bit, and update cmake to package into lib and include. This was designed to be automatically found by the win_openexr and win_openvdb when the folder structure is setup as described.

Rama

Vincent tan Sin chia

unread,
Apr 27, 2015, 12:03:23 AM4/27/15
to openvd...@googlegroups.com
Hi Rama,

I have encountered the following errors when try to build the "Hello World" example from cookbook.
FYI, i have used VS2010 with Release and x64 configuration for this project. Besides, i have specified all the required libraries such as boost, zlib and etc in vc++ directories and also specify the linker. However, errors below occured, so, what could be possibly the problem??
I have tried to search solution elsewhere but it only helps to reduce error count.
Before i added the linker for half.lib and etc, i have 44 errors and right now i have 41 errors.
Thanks a lot
1>main.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) const openvdb::v3_0_0::tree::TreeBase::`vftable'" (__imp_??_7TreeBase@tree@v3_0_0@openvdb@@6B@)
1>main.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: bool __cdecl openvdb::v3_0_0::GridBase::saveFloatAsHalf(void)const " (__imp_?saveFloatAsHalf@GridBase@v3_0_0@openvdb@@QEBA_NXZ)
1>main.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) int __cdecl openvdb::v3_0_0::util::printBytes(class std::basic_ostream<char,struct std::char_traits<char> > &,unsigned __int64,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,bool,int,int)" (__imp_?printBytes@util@v3_0_0@openvdb@@YAHAEAV?$basic_ostream@DU?$char_traits@D@std@@@std@@_KAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@5@2_NHH@Z)
1>main.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: static bool __cdecl openvdb::v3_0_0::Metadata::isRegisteredType(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (__imp_?isRegisteredType@Metadata@v3_0_0@openvdb@@SA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)
1>main.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: static class boost::shared_ptr<class openvdb::v3_0_0::Metadata> __cdecl openvdb::v3_0_0::Metadata::createMetadata(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (__imp_?createMetadata@Metadata@v3_0_0@openvdb@@SA?AV?$shared_ptr@VMetadata@v3_0_0@openvdb@@@boost@@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)
1>main.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: void __cdecl openvdb::v3_0_0::math::Transform::print(class std::basic_ostream<char,struct std::char_traits<char> > &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)const " (__imp_?print@Transform@math@v3_0_0@openvdb@@QEBAXAEAV?$basic_ostream@DU?$char_traits@D@std@@@std@@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@6@@Z)
1>main.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) void __cdecl openvdb::v3_0_0::initialize(void)" (__imp_?initialize@v3_0_0@openvdb@@YAXXZ)
1>main.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) unsigned int __cdecl openvdb::v3_0_0::io::getFormatVersion(class std::ios_base &)" (__imp_?getFormatVersion@io@v3_0_0@openvdb@@YAIAEAVios_base@std@@@Z)...................................


Best,
Vincent Tan

Vincent tan Sin chia

unread,
Apr 27, 2015, 1:42:57 AM4/27/15
to openvd...@googlegroups.com
Hi Rama,

I have just realized that i didnt have openvdb.dll built out in the release folder.
Do you have any ideas that this happens??
Or do i need to change the configuration manually at visual studio??

Rama Hoetzlein

unread,
Apr 27, 2015, 3:22:47 PM4/27/15
to openvd...@googlegroups.com
Ah, it looks like OpenVDB is being built as a static lib. Thus, there is no .dll.
You just directly link your app with the lib. This looks like it was part of the original CMake setup by N.Yue. 
I won't try and change it for now. Just directly link /w the lib.

Vincent tan Sin chia

unread,
Apr 27, 2015, 8:08:59 PM4/27/15
to openvd...@googlegroups.com
Hi Rama,

Ok, thanks a lot. 
Will make do with the static lib.


Best regards,
Vincent

Vincent tan Sin chia

unread,
Apr 27, 2015, 8:14:24 PM4/27/15
to openvd...@googlegroups.com
Hi Rama,

When i use the lib with its header files in vs2010 by specifying them in vc++ directories, i get the errors like above by running the examples from cookbook.
Any ideas what is the problem??

Thanks.



Best regards,
Vincent

chris golchert

unread,
Apr 27, 2015, 9:07:40 PM4/27/15
to openvd...@googlegroups.com
Linking errors?

What is the first one?

Vincent tan Sin chia

unread,
Apr 27, 2015, 10:15:06 PM4/27/15
to openvd...@googlegroups.com
Hi Chris,

The linking errors are in this page albeit there are more errors that i didnt put here coz too messy but it is closely related with openvdb.


Best regards,
Vincent

Rama Hoetzlein

unread,
Apr 27, 2015, 10:29:50 PM4/27/15
to openvd...@googlegroups.com
I'm pretty sure this is related to how OpenVDB is linked with the cookbook sample project.
Since openvdb is currently compiled as a static lib, that means the include headers must also indicate static functions.
Most libraries allow the target app to indicate this using some kind of OPENVDB_STATIC directive, or some such.. (e.g. GLEW_STATIC)
I'm not sure if openvdb provides that, so the solution would either be:
1) To find that directive and include in the preprocessor defs for the sample app, using the openvdb static libs already made... or..
2) To adjust the openvdb cmake build so that openvdb becomes a dynamic .dll library. Probable better soln in the long run.

I can look into this further, but probably not this week.

Vincent tan Sin chia

unread,
Apr 27, 2015, 10:48:43 PM4/27/15
to openvd...@googlegroups.com
Hi Rama,

Thanks for your help, i will try to look into the suggestion that you have given.
Thanks a lot, take your time.




Best regards,
Vincent Tan.
Message has been deleted

Vincent tan Sin chia

unread,
Apr 28, 2015, 9:04:46 PM4/28/15
to openvd...@googlegroups.com
Hi Chris,

Just manually add in the include and lib directories of zlib in the IlmImf project, then try to compile the IlmImf project individually, if it is ok, then the rest should be ok.



Vincent

chris golchert

unread,
Apr 28, 2015, 9:29:29 PM4/28/15
to openvd...@googlegroups.com
I did and it worked.  I think that last one was a message that was stuck in limbo.

Vincent tan Sin chia

unread,
Apr 28, 2015, 9:38:55 PM4/28/15
to openvd...@googlegroups.com
Hi Chris,

Glad you did it and lot of thanks go to Rama for this. 
But, i think you will encounter problem when trying to compile the Hello World example from OpenVDB cookbook.


Vincent

Vincent tan Sin chia

unread,
Apr 28, 2015, 10:09:33 PM4/28/15
to openvd...@googlegroups.com
Hi Rama and Chris,

I have successfully compiled Hello World example using your resources that are provided in your repo.
The solution was to replicate the preprocessor definition available in vdb_view as it depends on openvdb.lib as well as half.lib(elut and tofloat - errors that i got when compiling the Hello World Example).
Thus, for my Hello world example, i just add in the preprocessor definition as below which is replicated from vdb_view.
WIN32
_WINDOWS
NDEBUG
_WIN32
NOMINMAX
OPENVDB_STATICLIB
OPENEXR_DLL
Thanks a lot.


Vincent

Rama Hoetzlein

unread,
Apr 29, 2015, 6:24:41 PM4/29/15
to openvd...@googlegroups.com
I've updated the win_openvdb fork to include an \openvdb_cookbook project. This has a cmake which creates a new solution and project for the Hello World #1 example. My goal is to also include some other examples in this cookbook project.

I've updated the README.md page for the fork, to include instructions on building the cookbook project. The \openvdb_cookbook\CMakelist.txt also gives a good example of how to use cmake to create simple projects. As you found, its just a matter of setting the right preprocessor directives, and finding the right libraries.

I've also updated the win_openvdb build itself, to do a better job of packaging \lib and \include for openvdb. And added a FindOpenVDB.cmake module, which can be used by app projects to locate openvdb.

Vincent tan Sin chia

unread,
Apr 29, 2015, 8:08:39 PM4/29/15
to openvd...@googlegroups.com
Hi Rama,

Thanks for your effort for making all these thing happen.
Appreciate it.

chris golchert

unread,
Apr 29, 2015, 8:48:14 PM4/29/15
to openvd...@googlegroups.com
I think you guys are screwing with me now.  :)

I started over and got up to a compiled openvdb.lib.  The render and viewer don't work...  don't really care about them though.

When I tried just building a file that only initializes openvdb I get the linking error about unresolved external symbol "__declspec(dllimport) void __cdecl openvdb::v3_0_0::initialize(void)" (__imp_?initialize@v3_0_0@openvdb@@YAXXZ).I went back and changed some preprocessor entries as suggested and then I started getting errors that tbb has a mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease in the small source file I'm trying to build.

  When I re-build tbb as /MT I start down that path of stuff not liking being switched to /MT. or complaints about windows libraries.

I have no idea why I never ran into ANY of this during the good old 2.3 days.  I'm not giving up but I don't know if I have it in me tonight.  :(
Message has been deleted

Steven Caron

unread,
Apr 29, 2015, 9:08:02 PM4/29/15
to openvd...@googlegroups.com
you shouldn't have to build tbb from source.

i sent you some prebuilt libs, are you using them? They are static builds with VS 2012, for the cookbook project you should just have to add your sources, link your libs, and set the pre processor definitions.

check out rama's new cookbook cmake example.

s
Message has been deleted
Message has been deleted
Message has been deleted

chris golchert

unread,
May 4, 2015, 10:03:19 PM5/4/15
to openvd...@googlegroups.com
I wanted to say that this was less about me getting stuff compiled and more of trying to get everything up and running on more than a handful of people's systems.  

I don't know what to think when I'm following steps exactly and I get errors that have nothing to do with the process (like the boost errors above).

chris golchert

unread,
May 24, 2015, 1:32:23 PM5/24/15
to openvd...@googlegroups.com
So after taking a little while off and getting on a machine that has vs2010 on it..... I'm getting the same errors from cmake and same issues from VS2010 as i did on vs2012.... Completely different systems.

I'm really starting to believe that the people that are having no issues with this process have something else on their system that is making it work that these machines I'm building/testing on don't have.

All libraries as specified in the instructions.
vs2012 machine has .net 4.5
vs2010 machine has .net 4.0

What I also found interesting was that when someone sent me pre-compiled binaries (including the viewer)  I get entry point errors on kernal32.dll even on office-use systems (word processing/email based work).  All the windows installs were by different people... all give the same results.

Steven Caron

unread,
May 24, 2015, 7:20:24 PM5/24/15
to openvd...@googlegroups.com
if you are talking about the precompiled ones i sent? i built with visual studio 2012, so on the 'office use system' you probably need to make sure you have those redistributables...

chris golchert

unread,
May 24, 2015, 10:50:23 PM5/24/15
to openvd...@googlegroups.com

Yes, and even reinstalling/repairing vs2010, vs2012, and vs2013 redistributables I still get the following error:

This is with the viewer and the smoke.vdb from the openvdb download page.

Google results only seem to tell me that the problem is from windows 8, which isn't even entering into this on any level.

chris golchert

unread,
May 24, 2015, 11:24:47 PM5/24/15
to openvd...@googlegroups.com
I thought you had the static libraries compiled into it.  I just dumped all the related dlls I had and the viewer is at least working.  That may be the problem with the precompiled stuff.  Thanks again for those.


Steven Caron

unread,
May 25, 2015, 4:48:20 PM5/25/15
to openvd...@googlegroups.com
yes, i statically linked them... except for tbb, that is intended to be dynamic and since I have it on my path i didn't include it in the package i sent. sorry.

try running dependency walker, http://www.dependencywalker.com/ it will show you exactly how it is resolving the various libraries on your system (or not in yourcase)

sorry i can't be of more help.


Message has been deleted
Message has been deleted
Message has been deleted

ilay 7000

unread,
Sep 12, 2015, 6:04:57 PM9/12/15
to OpenVDB Forum



Finally i got openvdb utils for winOS and pyopenvdb for py27_vc11. Thanks to this forum and several over net!Raw test from cookbook, by pyVDB and c4d


Douglas D. Creel

unread,
Sep 23, 2016, 10:52:07 PM9/23/16
to OpenVDB Forum
Jumping onto this topic for some help in building OpenVDB on Windows. I have managed to build OpenVDB on Windows thanks to all the useful hints in this forum topic and elsewhere. I have run into a problem getting the VDB apps like vdb_view to work (as well as my own). The error message I get when I try to launch vdb_view is this: 

The application was unable to start correctly (0xc000a200). Click OK to close the application.

This error is related to app containers. Seemingly there is some dll that I am linking to that was built with a requirement that it run in an app container (/APPCONTAINER:YES  in the linker command line). I have gone through all my builds - zlib, tbb, ilmbase, openexr, boost - and I don't see any linker commands to build using an app container.

Does anyone have experience with this type of error and what might be the problem?  Thanks in advance for any help.

Douglas D. Creel

unread,
Sep 23, 2016, 10:55:30 PM9/23/16
to OpenVDB Forum
FYI, I am using Visual C++ 2015 on Windows 10 laptop.

David Bonner

unread,
Oct 19, 2016, 6:46:31 AM10/19/16
to OpenVDB Forum
Hello, 
 
I'm testing OpenVDB on windows, it works perfectly. Thanks a lot for this port!
I have a question about licensing

Is the windows port covered by the same Mozilla 2.0 licensing as the regular OpenVDB? 
I am considering using it (as-is with no changes) in a larger derived work.
 
Can I just point to the OpenVDB project, in its original form, even if I'm actually using the ported version?  

BTW I want to avoid distributing any source code with the product, so (I think) I need to be able to point to a publicly available repository that complies with the licensing conditions.  

With thanks in advance
David Bonner

Rama Hoetzlein

unread,
Oct 21, 2016, 6:33:16 PM10/21/16
to OpenVDB Forum
Hi David,

Since you are creating a larger work, and using OpenVDB without changes, then you do not need to redistribute the openvdb code. However, if you do make changes to OpenVDB, and you intend to distribute the code of that, then you would have to distribute all of your OpenVDB code, with the same MPL 2.0 license -- but you will still not have to distribute any code which was not part of openvdb.

To understand this better, I recommend to read this FAQ:
https://www.mozilla.org/en-US/MPL/2.0/FAQ/

Since win_openvdb is a distribution of OpenVDB, win_openvdb itself must follow the MPL 2.0 license, and is a full distribution of the OpenVdb source code, as required by the license. 

But if you are just creating a project which uses openvdb as a library.. then you do not need to apply the MPL to your code, only those parts which you integrate into your copy of openvdb itself.

-Rama

Yunlong

unread,
Jun 30, 2017, 4:00:38 PM6/30/17
to OpenVDB Forum
Hi Vincent,

I have the same errors as you when I try to compile OpenVDB with my visual studio 2013. Do you know how to solve it. Thanks a lot for your help.

Best Regards,
Yunlong
Reply all
Reply to author
Forward
0 new messages