I am having trouble building OpenEXR for windows 7 using CMake.
I am following directions described here
The cmd output after I run the cmake command is as follows:
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
D:\openexr-2.2.0>setlocal
D:\openexr-2.2.0>cmake -DZLIB_ROOT="C:\Program Files\zlib" -DILMBASE_PACKAGE_PREFIX="d:\ilmbase-2.2.0\builds" -DCMAKE_INSTALL_PREFIX="d:\openexr-2.2.0" -G "Visual Studio 10 Win64" ..\openexr-2.2.0
-- The C compiler identification is MSVC 16.0.40219.1
-- The CXX compiler identification is MSVC 16.0.40219.1
-- Check for working C compiler using: Visual Studio 10 Win64
-- Check for working C compiler using: Visual Studio 10 Win64 -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler using: Visual Studio 10 Win64
-- Check for working CXX compiler using: Visual Studio 10 Win64 -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Found ZLIB: C:/Program Files/zlib/lib/zlib.lib (found version "1.2.8")
ILMBASE_PACKAGE_PREFIX = d:\ilmbase-2.2.0\builds
-- Performing Test HAVE_GCC_INLINE_ASM_AVX
-- Performing Test HAVE_GCC_INLINE_ASM_AVX - Failed
-- Performing Test HAVE_SYSCONF_NPROCESSORS_ONLN
-- Performing Test HAVE_SYSCONF_NPROCESSORS_ONLN - Failed
-- Configuring done
-- Generating done
-- Build files have been written to: D:/openexr-2.2.0
D:\openexr-2.2.0>
This generates the solution with many projects, however, attempting to build project ALL_BUILDS fails.
I noticed all non-compiling projects (except for porject ilmimf) complain about
error LNK1181: cannot open input file '..\IlmImf\Release\IlmImf-2_2.lib'
Trying to build project IlmImf independently reports:
error MSB6006: "cmd.exe" exited with code -1073741515.
here is the full output for project ilmimf:
1>------ Build started: Project: ZERO_CHECK, Configuration: Release x64 ------
1>Build started 06/11/2014 09:43:21.
1>InitializeBuildStatus:
1> Creating "x64\Release\ZERO_CHECK\ZERO_CHECK.unsuccessfulbuild" because "AlwaysCreate" was specified.
1>FinalizeBuildStatus:
1> Deleting file "x64\Release\ZERO_CHECK\ZERO_CHECK.unsuccessfulbuild".
1> Touching "x64\Release\ZERO_CHECK\ZERO_CHECK.lastbuildstate".
1>
1>Build succeeded.
1>
1>Time Elapsed 00:00:00.04
2>------ Build started: Project: IlmImf, Configuration: Release x64 ------
2>Build started 06/11/2014 09:43:21.
2>InitializeBuildStatus:
2> Touching "IlmImf.dir\Release\IlmImf.unsuccessfulbuild".
2>CustomBuild:
2> Building Custom Rule D:/openexr-2.2.0/IlmImf/CMakeLists.txt
2> CMake does not need to re-run because D:\openexr-2.2.0\IlmImf\CMakeFiles\generate.stamp is up-to-date.
2> Generating b44ExpLogTable.h
2>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(151,5): error MSB6006: "cmd.exe" exited with code -1073741515.
2>
2>Build FAILED.
2>
2>Time Elapsed 00:00:00.14
========== Build: 1 succeeded, 1 failed, 2 up-to-date, 0 skipped ==========
Note, I am running cmd and Visual Studio 2010 in administrator mode, tried compiling all configurations (debug, release, MinSizeRel, RelWithDebInfo) but nothing worked so far.
When the IlmImf is builded, it will generator a "b44ExpLogTable.exe" program to generator a header file. This program b44ExpLogTable.exe needs correct dlls to run. Thus, we need to copy these related dlls into the directory or the system directory.
Error LNK1104 cannot open file '..\IlmImf\Debug\IlmImf-2_2.lib'
Error LNK1104 cannot open file '..\IlmImfUtil\Debug\IlmImfUtil-2_2.lib'
I had the same problems and I just copied Half.dll, Iex-2_2.dll and IlmThread-2_2.dll (three dll files generated by ilmbase) to b44ExpLogTable.exe folder. Then I built openexr successfully.
I had the exact same problem, though compiling for win32. It needs dlls in lib directory created after building ilmbase. So my solution was to add that folder to windows' system path and everything works perfectly fine.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With