Open BAM-AM opened 1 week ago
Hello BAM-AM, gladius uses a vcpkg overlay port to use the implicit branch of the lib3mf repository. In your case VCPKG_OVERLAY_PORTS is not set, so the overlay is not applied and the official vcpkg port is used instead. The changes for the volumetric extension are not in the master branch yet.
To use the overlay you may just extend your cmake generation command by a -D VCPKG_OVERLAY_PORTS =../vcpkg-overlay-ports
. It might look something like
cmake -G "Visual Studio 17 2022" -D CMAKE_BUILD_TYPE=Debug -D VCPKG_DEFAULT_TRIPLET=x64-windows -D VCPKG_ROOT=C:\Program Files\Microsoft Visual Studio\2022\Community\VC\vcpkg -D VCPKG_OVERLAY_PORTS =../vcpkg-overlay-ports -D CMAKE_C_COMPILER="C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.41.34120\bin\Hostx64\x64\cl.exe" -D CMAKE_CXX_COMPILER="C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.41.34120\bin\Hostx64\x64\cl.exe" ..
A more convenient way is to use one of the presets defined in CMakePresets.json, like x64-release for a windows release build. You can do that with the command
cmake --preset x64-release -S ../
and
cmake --build .
Many IDEs support the CMakePresets.json, e.g. you can just select the preset in Visual Studio or Visual Studio Code.
There is also an installer: https://github.com/3MFConsortium/gladius/releases/tag/v1.2.9
Hello,
I have attempted multiple times to build and compile Gladius on a Windows 10 machine. My goal is to test the voxelization capabilities of Gladius. However, during the build process, I encountered issues related to the lib3mf library. It appears that my project setup may be incorrect, resulting in certain components of the library not being found.
I look forward to receiving feedback. Below is a detailed description of the steps I took and the errors I encountered.
For your information, I am a beginner in using Visual Studio to compile C++ applications and I currently rely on the debugging assistance of ChatGPT.
Steps to Reproduce:
Following Instructions
Background information regarding created folder structure
Editor View of lib3mf_2.3.2_x64-windows.list: x64-windows/ x64-windows/bin/ x64-windows/bin/lib3mf.dll x64-windows/bin/lib3mf.pdb x64-windows/debug/ x64-windows/debug/bin/ x64-windows/debug/bin/lib3mf.dll x64-windows/debug/bin/lib3mf.pdb x64-windows/debug/lib/ x64-windows/debug/lib/lib3mf.lib x64-windows/debug/lib/pkgconfig/ x64-windows/debug/lib/pkgconfig/lib3mf.pc x64-windows/include/ x64-windows/include/Bindings/ x64-windows/include/Bindings/C/ x64-windows/include/Bindings/C/lib3mf.h x64-windows/include/Bindings/C/lib3mf_types.h x64-windows/include/Bindings/CDynamic/ x64-windows/include/Bindings/CDynamic/lib3mf_dynamic.cc x64-windows/include/Bindings/CDynamic/lib3mf_dynamic.h x64-windows/include/Bindings/CDynamic/lib3mf_types.h x64-windows/include/Bindings/CSharp/ x64-windows/include/Bindings/CSharp/Lib3MF.csx x64-windows/include/Bindings/Cpp/ x64-windows/include/Bindings/Cpp/lib3mf_abi.hpp x64-windows/include/Bindings/Cpp/lib3mf_implicit.hpp x64-windows/include/Bindings/Cpp/lib3mf_types.hpp x64-windows/include/Bindings/CppDynamic/ x64-windows/include/Bindings/CppDynamic/lib3mf_abi.hpp x64-windows/include/Bindings/CppDynamic/lib3mf_dynamic.h x64-windows/include/Bindings/CppDynamic/lib3mf_dynamic.hpp x64-windows/include/Bindings/CppDynamic/lib3mf_types.hpp x64-windows/include/Bindings/Go/ x64-windows/include/Bindings/Go/cfunc.go x64-windows/include/Bindings/Go/lib3mf.go x64-windows/include/Bindings/Go/lib3mf_dynamic.cc x64-windows/include/Bindings/Go/lib3mf_dynamic.h x64-windows/include/Bindings/Go/lib3mf_impl.go x64-windows/include/Bindings/Go/lib3mf_types.h x64-windows/include/Bindings/NodeJS/ x64-windows/include/Bindings/NodeJS/binding.gyp x64-windows/include/Bindings/NodeJS/lib3mf_dynamic.cc x64-windows/include/Bindings/NodeJS/lib3mf_dynamic.h x64-windows/include/Bindings/NodeJS/lib3mf_nodeaddon.cc x64-windows/include/Bindings/NodeJS/lib3mf_nodewrapper.cc x64-windows/include/Bindings/NodeJS/lib3mf_nodewrapper.h x64-windows/include/Bindings/NodeJS/lib3mf_types.h x64-windows/include/Bindings/Pascal/ x64-windows/include/Bindings/Pascal/Unit_Lib3MF.pas x64-windows/include/Bindings/Python/ x64-windows/include/Bindings/Python/Lib3MF.py x64-windows/lib/ x64-windows/lib/lib3mf.lib x64-windows/lib/pkgconfig/ x64-windows/lib/pkgconfig/lib3mf.pc x64-windows/share/ x64-windows/share/lib3mf/ x64-windows/share/lib3mf/copyright x64-windows/share/lib3mf/lib3mfConfig.cmake x64-windows/share/lib3mf/usage x64-windows/share/lib3mf/vcpkg.spdx.json x64-windows/share/lib3mf/vcpkg_abi_info.txt
C:\Users\Jonathan\source\repos\24-10-14_CMake_3MG_Gladius_Parrel_Attempt\gla dius\gladius\src\io\3mf\Importer3mf.h(12,10): error C1083: Cannot open inclu de file: 'lib3mf/Cpp/lib3mf_implicit.hpp': No such file or directory [C:\Use rs\Jonathan\source\repos\24-10-14_CMake_3MG_Gladius_Parrel_Attempt\gladius\g ladius\build\src\gladius_lib.vcxproj]
replace #include <lib3mf/Cpp/lib3mf_implicit.hpp> by #include <Bindings/Cpp/lib3mf_implicit.hpp>
C:\Users\Jonathan\source\repos\24-10-14_Cmake_3MF_GLADIUS\gladius\gladius\src\io\3mf\Importer3mf.h(65,66): error C2039: 'PImplicitPort': is not a member of 'Lib3MF' 2>(compiling source file '../../src/Application.cpp') 2> C:\Users\Jonathan\source\repos\24-10-14_Cmake_3MF_GLADIUS\gladius\gladius\build\vcpkg_installed\x64-windows\include\Bindings\Cpp\lib3mf_implicit.hpp(54,11): 2> see declaration of 'Lib3MF' 2>C:\Users\Jonathan\source\repos\24-10-14_Cmake_3MF_GLADIUS\gladius\gladius\src\io\3mf\Importer3mf.h(65,66): error C2061: syntax error: identifier 'PImplicitPort' 2>(compiling source file '../../src/Application.cpp') 2>C:\Users\Jonathan\source\repos\24-10-14_Cmake_3MF_GLADIUS\gladius\gladius\src\io\3mf\Importer3mf.h(83,36): error C2039: 'PVolumeData': is not a member of 'Lib3MF' 2>(compiling source file '../../src/Application.cpp') 2> C:\Users\Jonathan\source\repos\24-10-14_Cmake_3MF_GLADIUS\gladius\gladius\build\vcpkg_installed\x64-windows\include\Bindings\Cpp\lib3mf_implicit.hpp(54,11): 2> see declaration of 'Lib3MF' 2>C:\Users\Jonathan\source\repos\24-10-14_Cmake_3MF_GLADIUS\gladius\gladius\src\io\3mf\Importer3mf.h(83,36): error C2061: syntax error: identifier 'PVolumeData' 2>(compiling source file '../../src/Application.cpp') 2>C:\Users\Jonathan\source\repos\24-10-14_Cmake_3MF_GLADIUS\gladius\gladius\src\io\3mf\Importer3mf.h(91,40): error C2039: 'PLevelSet': is not a member of 'Lib3MF' 2>(compiling source file '../../src/Application.cpp') 2> C:\Users\Jonathan\source\repos\24-10-14_Cmake_3MF_GLADIUS\gladius\gladius\build\vcpkg_installed\x64-windows\include\Bindings\Cpp\lib3mf_implicit.hpp(54,11): 2> see declaration of 'Lib3MF' 2>C:\Users\Jonathan\source\repos\24-10-14_Cmake_3MF_GLADIUS\gladius\gladius\src\io\3mf\Importer3mf.h(91,40): error C2061: syntax error: identifier 'PLevelSet' 2>(compiling source file '../../src/Application.cpp') 2>C:\Users\Jonathan\source\repos\24-10-14_Cmake_3MF_GLADIUS\gladius\gladius\src\io\3mf\Importer3mf.h(107,62): error C2039: 'CImplicitFunction': is not a member of 'Lib3MF' 2>(compiling source file '../../src/Application.cpp') 2> C:\Users\Jonathan\source\repos\24-10-14_Cmake_3MF_GLADIUS\gladius\gladius\build\vcpkg_installed\x64-windows\include\Bindings\Cpp\lib3mf_implicit.hpp(54,11): 2> see declaration of 'Lib3MF' 2>C:\Users\Jonathan\source\repos\24-10-14_Cmake_3MF_GLADIUS\gladius\gladius\src\io\3mf\Importer3mf.h(107,62): error C2061: syntax error: identifier 'CImplicitFunction' 2>(compiling source file '../../src/Application.cpp') 2>C:\Users\Jonathan\source\repos\24-10-14_Cmake_3MF_GLADIUS\gladius\gladius\src\io\3mf\Importer3mf.h(109,65): error C2039: 'CFunctionFromImage3D': is not a member of 'Lib3MF' 2>(compiling source file '../../src/Application.cpp') 2> C:\Users\Jonathan\source\repos\24-10-14_Cmake_3MF_GLADIUS\gladius\gladius\build\vcpkg_installed\x64-windows\include\Bindings\Cpp\lib3mf_implicit.hpp(54,11): 2> see declaration of 'Lib3MF' 2>C:\Users\Jonathan\source\repos\24-10-14_Cmake_3MF_GLADIUS\gladius\gladius\src\io\3mf\Importer3mf.h(109,65): error C2061: syntax error: identifier 'CFunctionFromImage3D' 2>(compiling source file '../../src/Application.cpp') 2>C:\Users\Jonathan\source\repos\24-10-14_Cmake_3MF_GLADIUS\gladius\gladius\src\io\3mf\Importer3mf.h(113,37): error C2039: 'CImplicitFunction': is not a member of 'Lib3MF' 2>(compiling source file '../../src/Application.cpp') 2> C:\Users\Jonathan\source\repos\24-10-14_Cmake_3MF_GLADIUS\gladius\gladius\build\vcpkg_installed\x64-windows\include\Bindings\Cpp\lib3mf_implicit.hpp(54,11): 2> see declaration of 'Lib3MF' 2>C:\Users\Jonathan\source\repos\24-10-14_Cmake_3MF_GLADIUS\gladius\gladius\src\io\3mf\Importer3mf.h(113,37): error C2061: syntax error: identifier 'CImplicitFunction' 2>(compiling source file '../../src/Application.cpp') 2>C:\Users\Jonathan\source\repos\24-10-14_Cmake_3MF_GLADIUS\gladius\gladius\src\io\3mf\Importer3mf.h(115,34): error C2039: 'CImplicitNode': is not a member of 'Lib3MF' 2>(compiling source file '../../src/Application.cpp') 2> C:\Users\Jonathan\source\repos\24-10-14_Cmake_3MF_GLADIUS\gladius\gladius\build\vcpkg_installed\x64-windows\include\Bindings\Cpp\lib3mf_implicit.hpp(54,11): 2> see declaration of 'Lib3MF' 2>C:\Users\Jonathan\source\repos\24-10-14_Cmake_3MF_GLADIUS\gladius\gladius\src\io\3mf\Importer3mf.h(115,34): error C2061: syntax error: identifier 'CImplicitNode' 2>(compiling source file '../../src/Application.cpp') 2>Document.cpp 2>C:\Users\Jonathan\source\repos\24-10-14_Cmake_3MF_GLADIUS\gladius\gladius\src\io\3mf\Importer3mf.h(65,66): error C2039: 'PImplicitPort': is not a member of 'Lib3MF' 2>(compiling source file '../../src/Document.cpp') 2> C:\Users\Jonathan\source\repos\24-10-14_Cmake_3MF_GLADIUS\gladius\gladius\build\vcpkg_installed\x64-windows\include\Bindings\Cpp\lib3mf_implicit.hpp(54,11): 2> see declaration of 'Lib3MF' 2>C:\Users\Jonathan\source\repos\24-10-14_Cmake_3MF_GLADIUS\gladius\gladius\src\io\3mf\Importer3mf.h(65,66): error C2061: syntax error: identifier 'PImplicitPort' 2>(compiling source file '../../src/Document.cpp') 2>C:\Users\Jonathan\source\repos\24-10-14_Cmake_3MF_GLADIUS\gladius\gladius\src\io\3mf\Importer3mf.h(83,36): error C2039: 'PVolumeData': is not a member of 'Lib3MF' 2>(compiling source file '../../src/Document.cpp') 2> C:\Users\Jonathan\source\repos\24-10-14_Cmake_3MF_GLADIUS\gladius\gladius\build\vcpkg_installed\x64-windows\include\Bindings\Cpp\lib3mf_implicit.hpp(54,11): 2> see declaration of 'Lib3MF' 2>C:\Users\Jonathan\source\repos\24-10-14_Cmake_3MF_GLADIUS\gladius\gladius\src\io\3mf\Importer3mf.h(83,36): error C2061: syntax error: identifier 'PVolumeData' 2>(compiling source file '../../src/Document.cpp') 2>C:\Users\Jonathan\source\repos\24-10-14_Cmake_3MF_GLADIUS\gladius\gladius\src\io\3mf\Importer3mf.h(91,40): error C2039: 'PLevelSet': is not a member of 'Lib3MF' 2>(compiling source file '../../src/Document.cpp') 2> C:\Users\Jonathan\source\repos\24-10-14_Cmake_3MF_GLADIUS\gladius\gladius\build\vcpkg_installed\x64-windows\include\Bindings\Cpp\lib3mf_implicit.hpp(54,11): 2> see declaration of 'Lib3MF' 2>C:\Users\Jonathan\source\repos\24-10-14_Cmake_3MF_GLADIUS\gladius\gladius\src\io\3mf\Importer3mf.h(91,40): error C2061: syntax error: identifier 'PLevelSet' 2>(compiling source file '../../src/Document.cpp') 2>C:\Users\Jonathan\source\repos\24-10-14_Cmake_3MF_GLADIUS\gladius\gladius\src\io\3mf\Importer3mf.h(107,62): error C2039: 'CImplicitFunction': is not a member of 'Lib3MF' 2>(compiling source file '../../src/Document.cpp') 2> C:\Users\Jonathan\source\repos\24-10-14_Cmake_3MF_GLADIUS\gladius\gladius\build\vcpkg_installed\x64-windows\include\Bindings\Cpp\lib3mf_implicit.hpp(54,11): 2> see declaration of 'Lib3MF' 2>C:\Users\Jonathan\source\repos\24-10-14_Cmake_3MF_GLADIUS\gladius\gladius\src\io\3mf\Importer3mf.h(107,62): error C2061: syntax error: identifier 'CImplicitFunction' 2>(compiling source file '../../src/Document.cpp') 2>C:\Users\Jonathan\source\repos\24-10-14_Cmake_3MF_GLADIUS\gladius\gladius\src\io\3mf\Importer3mf.h(109,65): error C2039: 'CFunctionFromImage3D': is not a member of 'Lib3MF' 2>(compiling source file '../../src/Document.cpp') 2> C:\Users\Jonathan\source\repos\24-10-14_Cmake_3MF_GLADIUS\gladius\gladius\build\vcpkg_installed\x64-windows\include\Bindings\Cpp\lib3mf_implicit.hpp(54,11): 2> see declaration of 'Lib3MF' 2>C:\Users\Jonathan\source\repos\24-10-14_Cmake_3MF_GLADIUS\gladius\gladius\src\io\3mf\Importer3mf.h(109,65): error C2061: syntax error: identifier 'CFunctionFromImage3D' 2>(compiling source file '../../src/Document.cpp') 2>C:\Users\Jonathan\source\repos\24-10-14_Cmake_3MF_GLADIUS\gladius\gladius\src\io\3mf\Importer3mf.h(113,37): error C2039: 'CImplicitFunction': is not a member of 'Lib3MF' 2>(compiling source file '../../src/Document.cpp') 2> C:\Users\Jonathan\source\repos\24-10-14_Cmake_3MF_GLADIUS\gladius\gladius\build\vcpkg_installed\x64-windows\include\Bindings\Cpp\lib3mf_implicit.hpp(54,11): 2> see declaration of 'Lib3MF' 2>C:\Users\Jonathan\source\repos\24-10-14_Cmake_3MF_GLADIUS\gladius\gladius\src\io\3mf\Importer3mf.h(113,37): error C2061: syntax error: identifier 'CImplicitFunction' 2>(compiling source file '../../src/Document.cpp') 2>C:\Users\Jonathan\source\repos\24-10-14_Cmake_3MF_GLADIUS\gladius\gladius\src\io\3mf\Importer3mf.h(115,34): error C2039: 'CImplicitNode': is not a member of 'Lib3MF' 2>(compiling source file '../../src/Document.cpp') 2> C:\Users\Jonathan\source\repos\24-10-14_Cmake_3MF_GLADIUS\gladius\gladius\build\vcpkg_installed\x64-windows\include\Bindings\Cpp\lib3mf_implicit.hpp(54,11): 2> see declaration of 'Lib3MF' 2>C:\Users\Jonathan\source\repos\24-10-14_Cmake_3MF_GLADIUS\gladius\gladius\src\io\3mf\Importer3mf.h(115,34): error C2061: syntax error: identifier 'CImplicitNode' 2>(compiling source file '../../src/Document.cpp') 2>C:\Users\Jonathan\source\repos\24-10-14_Cmake_3MF_GLADIUS\gladius\gladius\src\io\3mf\Writer3mf.h(12,10): error C1083: Cannot open include file: 'lib3mf/Cpp/lib3mf_implicit.hpp': No such file or directory 2>(compiling source file '../../src/Document.cpp')