gecko wrote: ↑Sat Jan 13, 2018 1:33 am
Ok, with that out of the way I've confirmed that compiling LuxCore in VS2017 and using the existing dependencies from the repository (compiled in VS2013) works just fine.
I have done some tests with VS2015 and it is not working. I think it is the same with VS2017.
Gecko, you have installed also VS2013, right? Have you updated VS version also in
cmake-build-x64.bat script? Otherwise, even using the VS2017 command tools command prompt, cmake will find the existing VS2013 installation.
At least, that's what happening here:
Code: Select all
F:\Ale\Devel\LuxCoreRender\WindowsCompile>cmake-build-x64.bat
Finding if CMake is installed...
CMake found at "c:\Program Files (x86)\cmake-3.2.2-win32-x86\bin\cmake.exe "
We are using CMake version: 3
LIB_DIR: F:\Ale\Devel\LuxCoreRender\WindowsCompileDeps\x64\Release\lib
Sottodirectory o file Build_CMake già esistente.
Sottodirectory o file F:\Ale\Devel\LuxCoreRender\WindowsCompile\Build_CMake\LuxCore già esistente.
-- CMAKE VERSION DETECTED 3.2.2
-- The C compiler identification is MSVC 18.0.40629.0
-- The CXX compiler identification is MSVC 18.0.40629.0
-- Check for working C compiler using: Visual Studio 12 2013
-- Check for working C compiler using: Visual Studio 12 2013 -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler using: Visual Studio 12 2013
-- Check for working CXX compiler using: Visual Studio 12 2013 -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Building mode: Release
-- MSVC
-- Version 12 (2013)
-- Using default WIN32 Configuration settings
-- Building for target x86
...
Look at the lines after "CMAKE VERSION DETECTED": the identified compiler is the one from VS2013, even if I'm using a VS2015 command prompt. Then the build process completes successfully.
When I update things in cmake script, this is the result:
Code: Select all
F:\Ale\Devel\LuxCoreRender\WindowsCompile>cmake-build-x64.bat
Finding if CMake is installed...
CMake found at "c:\Program Files (x86)\cmake-3.2.2-win32-x86\bin\cmake.exe "
We are using CMake version: 3
LIB_DIR: F:\Ale\Devel\LuxCoreRender\WindowsCompileDeps\x64\Release\lib
-- CMAKE VERSION DETECTED 3.2.2
-- The C compiler identification is MSVC 19.0.24215.1
-- The CXX compiler identification is MSVC 19.0.24215.1
-- Check for working C compiler using: Visual Studio 14 2015
-- Check for working C compiler using: Visual Studio 14 2015 -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler using: Visual Studio 14 2015
-- Check for working CXX compiler using: Visual Studio 14 2015 -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Building mode: Release
-- MSVC
-- Using default WIN32 Configuration settings
-- Building for target x86
-- Lux build environment variables found
-- LUX_WINDOWS_BUILD_ROOT = F:\Ale\Devel\LuxCoreRender\WindowsCompile
-- INCLUDE_DIR = F:\Ale\Devel\LuxCoreRender\WindowsCompileDeps\include
-- LIB_DIR = F:\Ale\Devel\LuxCoreRender\WindowsCompileDeps\x64\Release\lib
-- Looking for include file pthread.h
-- Looking for include file pthread.h - not found
-- Found Threads: TRUE
-- Found OpenImageIO: F:/Ale/Devel/LuxCoreRender/WindowsCompileDeps/x64/Release/lib/OpenImageIO.lib
-- Found OPENEXR: F:/Ale/Devel/LuxCoreRender/WindowsCompileDeps/x64/Release/lib/Iex.lib;F:/Ale/Devel/LuxCoreRender/WindowsCompileDeps/x64/Release/lib/IlmImf.lib;F:/Ale/Devel/LuxCoreRender/WindowsCompileDeps/x64/Release/lib/Half.lib;F:/Ale/Devel/LuxCoreRender/WindowsCompileDeps/x64/Release/lib/Imath.lib;F:/Ale/Devel/LuxCoreRender/WindowsCompileDeps/x64/Release/lib/IlmThread.lib
-- Found TIFF: F:/Ale/Devel/LuxCoreRender/WindowsCompileDeps/x64/Release/lib/libtiff.lib (found version "4.0.3")
-- Found JPEG: F:/Ale/Devel/LuxCoreRender/WindowsCompileDeps/x64/Release/lib/jpeg.lib
-- Found ZLIB: F:/Ale/Devel/LuxCoreRender/WindowsCompileDeps/x64/Release/lib/zlib1.lib (found version "1.2.8")
-- Found PNG: F:/Ale/Devel/LuxCoreRender/WindowsCompileDeps/x64/Release/lib/libpng.lib (found version "1.6.12")
-- Found PythonLibs: F:/Ale/Devel/LuxCoreRender/WindowsCompileDeps/x64/Release/lib (found version "3.5.1")
-- Could NOT find Boost
-- Could NOT find Boost
-- Found OpenGL: opengl32
-- Found OPENCL: C:/Program Files (x86)/AMD APP SDK/2.9-1/lib/x86_64/OpenCL.lib
-- Try OpenMP C flag = [/openmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Success
-- Try OpenMP CXX flag = [/openmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Success
-- Found OpenMP: /openmp
-- OpenMP found - compiling with
-- Found BISON: F:\Ale\Devel\LuxCoreRender\WindowsCompile/support/bin/win_bison.exe (found version "2.7")
-- Found FLEX: F:\Ale\Devel\LuxCoreRender\WindowsCompile/support/bin/win_flex.exe (found version "2.5.37")
CMake Error at CMakeLists.txt:79 (MESSAGE):
--> Could not locate required Boost files - Please check
F:\Ale\Devel\LuxCoreRender\WindowsCompileDeps\include/Boost
-- Configuring incomplete, errors occurred!
See also "F:/Ale/Devel/LuxCoreRender/WindowsCompile/Build_CMake/LuxCore/CMakeFiles/CMakeOutput.log".
See also "F:/Ale/Devel/LuxCoreRender/WindowsCompile/Build_CMake/LuxCore/CMakeFiles/CMakeError.log".
--- FATAL ERROR RUNNING CMAKE ---
The identified compiler is now from VS2015, but then Boost libraries are not found because of wrong compiler version (they report compiler version in their filenames).
Finding them can be forced by changing their filenames, then the building process goes on, but a lot of "unresolved external symbol" errors are generated at link time.
So I think we really need to build deps with the compiler we want to use.