volumetric-clouds
volumetric-clouds copied to clipboard
Linux compile error with compile the assimp submodule.
Thanks for creating and open sourcing this example. I thought I'd try and build it on my Kubuntu 22.04 but got compile error when attempting to compile the assimp submodule. I looks to be a CMake C++ standard selection issue.
$ make
[ 8%] Built target glfw
Consolidate compiler generated dependencies of target assimp
[ 8%] Building CXX object external/dw-sample-framework/external/assimp/code/CMakeFiles/assimp.dir/Common/BaseProcess.cpp.o
In file included from /home/robert/3rdParty/volumetric-clouds/external/dw-sample-framework/external/assimp/include/assimp/GenericProperty.h:52,
from /home/robert/3rdParty/volumetric-clouds/external/dw-sample-framework/external/assimp/code/Common/BaseProcess.h:46,
from /home/robert/3rdParty/volumetric-clouds/external/dw-sample-framework/external/assimp/code/Common/BaseProcess.cpp:44:
/home/robert/3rdParty/volumetric-clouds/external/dw-sample-framework/external/assimp/include/assimp/Importer.hpp:505:16: error: ‘exception_ptr’ in namespace ‘std’ does not name a type; did you mean ‘exception’?
505 | const std::exception_ptr& GetException() const;
| ^~~~~~~~~~~~~
| exception
In file included from /home/robert/3rdParty/volumetric-clouds/external/dw-sample-framework/external/assimp/code/Common/BaseProcess.cpp:45:
/home/robert/3rdParty/volumetric-clouds/external/dw-sample-framework/external/assimp/code/Common/Importer.h:104:10: error: ‘exception_ptr’ in namespace ‘std’ does not name a type; did you mean ‘exception’?
104 | std::exception_ptr mException;
| ^~~~~~~~~~~~~
| exception
/home/robert/3rdParty/volumetric-clouds/external/dw-sample-framework/external/assimp/code/Common/Importer.h: In constructor ‘Assimp::ImporterPimpl::ImporterPimpl()’:
/home/robert/3rdParty/volumetric-clouds/external/dw-sample-framework/external/assimp/code/Common/Importer.h:139:9: error: class ‘Assimp::ImporterPimpl’ does not have any field named ‘mException’
139 | mException(),
| ^~~~~~~~~~
If I compile assimp directly myself it works fine, also when I come it as a module with the vsgFramework so I know that is should work, I tried adding to the root CMakeLists.txt :
set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON)
But this hasn't helped. Unfortunately I don't have time to keep on hunting for the cause right now, hopefully the fix will be obvious.