Skip to content

C:/VulkanSDK/1.4.304.1/include\vulkan/vulkan_hpp_macros.hpp(148,38): fatal error C1017: invalid integer constant expression #52

Open
@lukkio88

Description

@lukkio88

Hi,

I've just cloned your repo and try to test it.
I have the SDK installed already. When I clone I generate with

Luca@LAPTOP-N7DVKIPC MINGW64 ~/Documents/Git/3DGS.cpp/build-1 (main)
$ cmake .. -DCMAKE_BUILD_TYPE=Release -DVULKAN_SDK="C:/VulkanSDK/1.4.304.1"

This gives me this output:

-- Selecting Windows SDK version 10.0.20348.0 to target Windows 10.0.26100.
CMake Warning (dev) at C:/Program Files/CMake/share/cmake-4.0/Modules/FetchContent.cmake:1953 (message):
  Calling FetchContent_Populate(glfw) is deprecated, call
  FetchContent_MakeAvailable(glfw) instead.  Policy CMP0169 can be set to OLD
  to allow FetchContent_Populate(glfw) to be called directly for now, but the
  ability to call it with declared details will be removed completely in a
  future version.
Call Stack (most recent call first):
  CMakeLists.txt:19 (FetchContent_Populate)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Using Win32 for window creation
CMake Deprecation Warning at build-1/_deps/glm-src/CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 3.10 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value.  Or, use the <min>...<max> syntax
  to tell CMake that the project requires at least <min> but has been updated
  to work with policies introduced by <max> or earlier.


CMake Deprecation Warning at build-1/_deps/glm-src/CMakeLists.txt:2 (cmake_policy):
  Compatibility with CMake < 3.10 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value.  Or, use the <min>...<max> syntax
  to tell CMake that the project requires at least <min> but has been updated
  to work with policies introduced by <max> or earlier.


-- GLM: Version 1.0.0
-- GLM: Build with C++20 features
GLM: Visual C++ - MSVC compiler
-- Module support is disabled.
-- Version: 9.1.0
-- Build type: Release
-- CXX_STANDARD: 20
-- Required features: cxx_variadic_templates
CMake Warning (dev) at C:/Program Files/CMake/share/cmake-4.0/Modules/FetchContent.cmake:1953 (message):
  Calling FetchContent_Populate(spdlog) is deprecated, call
  FetchContent_MakeAvailable(spdlog) instead.  Policy CMP0169 can be set to
  OLD to allow FetchContent_Populate(spdlog) to be called directly for now,
  but the ability to call it with declared details will be removed completely
  in a future version.
Call Stack (most recent call first):
  CMakeLists.txt:58 (FetchContent_Populate)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Build spdlog: 1.13.0
-- Build type: Release
-- Shader header file: C:/Users/Luca/Documents/Git/3DGS.cpp/build-1/shaders/shaders.h
-- Configuring done (8.8s)
-- Generating done (0.2s)
CMake Warning:
  Manually-specified variables were not used by the project:

    VULKAN_SDK


-- Build files have been written to: C:/Users/Luca/Documents/Git/3DGS.cpp/build-1

And when opening in visual studio and try to build the solution I get:

Build started...
1>------ Build started: Project: ZERO_CHECK, Configuration: Release x64 ------
1>1>Checking Build System
2>------ Build started: Project: xcode_thirdparty, Configuration: Release x64 ------
3>------ Skipped Build: Project: update_mappings, Configuration: Release x64 ------
3>Project not selected to build for this solution configuration 
4>------ Build started: Project: spdlog, Configuration: Release x64 ------
5>------ Build started: Project: glm, Configuration: Release x64 ------
6>------ Build started: Project: glfw, Configuration: Release x64 ------
7>------ Build started: Project: fmt, Configuration: Release x64 ------
8>------ Build started: Project: embedfile, Configuration: Release x64 ------
2>Generating C:/Users/Luca/Documents/Git/3DGS.cpp/apps/apple/VulkanSplatting/ThirdParty
5>Building Custom Rule C:/Users/Luca/Documents/Git/3DGS.cpp/build-1/_deps/glm-src/glm/CMakeLists.txt
6>Building Custom Rule C:/Users/Luca/Documents/Git/3DGS.cpp/build-1/_deps/glfw-src/src/CMakeLists.txt
4>Building Custom Rule C:/Users/Luca/Documents/Git/3DGS.cpp/build-1/_deps/spdlog-src/CMakeLists.txt
7>Building Custom Rule C:/Users/Luca/Documents/Git/3DGS.cpp/build-1/_deps/fmt-src/CMakeLists.txt
8>Building Custom Rule C:/Users/Luca/Documents/Git/3DGS.cpp/src/shaders/CMakeLists.txt
2>Building Custom Rule C:/Users/Luca/Documents/Git/3DGS.cpp/apps/apple/CMakeLists.txt
2>C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(242,5): warning MSB8065: Custom build for item "C:\Users\Luca\Documents\Git\3DGS.cpp\build-1\CMakeFiles\51b2a8832b566d92f980038229674295\ThirdParty.rule" succeeded, but specified output "c:\users\luca\documents\git\3dgs.cpp\apps\apple\vulkansplatting\thirdparty" has not been created. This may cause incremental build to work incorrectly.
2>Done building project "xcode_thirdparty.vcxproj".
8>embedfile.c
7>format.cc
5>glm.cpp
6>context.c
4>spdlog.cpp
4>stdout_sinks.cpp
4>color_sinks.cpp
4>file_sinks.cpp
4>async.cpp
4>cfg.cpp
4>bundled_fmtlib_format.cpp
6>init.c
8>LINK : fatal error LNK1104: cannot open file 'C:\Users\Luca\Documents\Git\3DGS.cpp\build-1\src\shaders\Release\embedfile.exe'
6>input.c
6>monitor.c
8>Done building project "embedfile.vcxproj" -- FAILED.
9>------ Build started: Project: xcode_shaders, Configuration: Release x64 ------
10>------ Build started: Project: shaders, Configuration: Release x64 ------
10>Generating ../../shaders/calibrate.spv
9>Generating ../../shaders/calibrate.spv
6>vulkan.c
9>C:/Users/Luca/Documents/Git/3DGS.cpp/src/shaders/calibrate.comp
10>C:/Users/Luca/Documents/Git/3DGS.cpp/src/shaders/calibrate.comp
6>window.c
10>Generating ../../shaders/hist.spv
9>Generating ../../shaders/hist.spv
10>C:/Users/Luca/Documents/Git/3DGS.cpp/src/shaders/sort/hist.comp
9>C:/Users/Luca/Documents/Git/3DGS.cpp/src/shaders/sort/hist.comp
6>win32_init.c
10>Generating ../../shaders/precomp_cov3d.spv
7>os.cc
6>win32_joystick.c
9>Generating ../../shaders/precomp_cov3d.spv
6>win32_monitor.c
10>C:/Users/Luca/Documents/Git/3DGS.cpp/src/shaders/precomp_cov3d.comp
10>Generating ../../shaders/prefix_sum.spv
9>C:/Users/Luca/Documents/Git/3DGS.cpp/src/shaders/precomp_cov3d.comp
9>Generating ../../shaders/prefix_sum.spv
6>win32_time.c
10>C:/Users/Luca/Documents/Git/3DGS.cpp/src/shaders/prefix_sum.comp
10>Generating ../../shaders/preprocess.spv
9>C:/Users/Luca/Documents/Git/3DGS.cpp/src/shaders/prefix_sum.comp
6>win32_thread.c
9>Generating ../../shaders/preprocess.spv
10>C:/Users/Luca/Documents/Git/3DGS.cpp/src/shaders/preprocess.comp
10>Generating ../../shaders/preprocess_sort.spv
6>win32_window.c
9>C:/Users/Luca/Documents/Git/3DGS.cpp/src/shaders/preprocess.comp
9>Generating ../../shaders/preprocess_sort.spv
10>C:/Users/Luca/Documents/Git/3DGS.cpp/src/shaders/preprocess_sort.comp
10>Generating ../../shaders/render.spv
6>wgl_context.c
9>C:/Users/Luca/Documents/Git/3DGS.cpp/src/shaders/preprocess_sort.comp
7>Generating Code...
9>Generating ../../shaders/render.spv
10>C:/Users/Luca/Documents/Git/3DGS.cpp/src/shaders/render.comp
10>Generating ../../shaders/sort.spv
9>C:/Users/Luca/Documents/Git/3DGS.cpp/src/shaders/render.comp
6>egl_context.c
9>Generating ../../shaders/sort.spv
10>C:/Users/Luca/Documents/Git/3DGS.cpp/src/shaders/sort/sort.comp
10>Generating ../../shaders/tile_boundary.spv
9>C:/Users/Luca/Documents/Git/3DGS.cpp/src/shaders/sort/sort.comp
6>osmesa_context.c
9>Generating ../../shaders/tile_boundary.spv
10>C:/Users/Luca/Documents/Git/3DGS.cpp/src/shaders/tile_boundary.comp
10>Building Custom Rule C:/Users/Luca/Documents/Git/3DGS.cpp/src/shaders/CMakeLists.txt
9>C:/Users/Luca/Documents/Git/3DGS.cpp/src/shaders/tile_boundary.comp
6>Generating Code...
10>Generating ../../shaders/shaders.h
9>Building Custom Rule C:/Users/Luca/Documents/Git/3DGS.cpp/src/shaders/CMakeLists.txt
9>Generating ../../shaders/shaders.h
9>Generating C:/Users/Luca/Documents/Git/3DGS.cpp/apps/apple/VulkanSplatting/shaders.h
7>fmt.vcxproj -> C:\Users\Luca\Documents\Git\3DGS.cpp\build-1\_deps\fmt-build\Release\fmt.lib
11>------ Skipped Build: Project: xcode_setup, Configuration: Release x64 ------
11>Project not selected to build for this solution configuration 
5>glm.vcxproj -> C:\Users\Luca\Documents\Git\3DGS.cpp\build-1\_deps\glm-build\glm\Release\glm.lib
6>glfw.vcxproj -> C:\Users\Luca\Documents\Git\3DGS.cpp\build-1\_deps\glfw-build\src\Release\glfw3.lib
4>spdlog.vcxproj -> C:\Users\Luca\Documents\Git\3DGS.cpp\build-1\_deps\spdlog-build\Release\spdlog.lib
12>------ Build started: Project: libenvpp, Configuration: Release x64 ------
12>Building Custom Rule C:/Users/Luca/Documents/Git/3DGS.cpp/build-1/_deps/libenvpp-src/CMakeLists.txt
12>levenshtein.cpp
12>libenvpp_environment_unix.cpp
12>libenvpp_environment_windows.cpp
12>libenvpp_environment.cpp
12>libenvpp_errors.cpp
13>------ Build started: Project: 3dgs_cpp, Configuration: Release x64 ------
13>Building Custom Rule C:/Users/Luca/Documents/Git/3DGS.cpp/src/CMakeLists.txt
13>3dgs.cpp
13>C:/VulkanSDK/1.4.304.1/include\vulkan/vulkan_hpp_macros.hpp(148,38): fatal error C1017: invalid integer constant expression
13>GSScene.cpp
12>libenvpp.vcxproj -> C:\Users\Luca\Documents\Git\3DGS.cpp\build-1\_deps\libenvpp-build\Release\libenvpp.lib
13>C:/VulkanSDK/1.4.304.1/include\vulkan/vulkan_hpp_macros.hpp(148,38): fatal error C1017: invalid integer constant expression
13>GUIManager.cpp
13>Renderer.cpp
13>C:/VulkanSDK/1.4.304.1/include\vulkan/vulkan_hpp_macros.hpp(148,38): fatal error C1017: invalid integer constant expression
13>Buffer.cpp
13>C:/VulkanSDK/1.4.304.1/include\vulkan/vulkan_hpp_macros.hpp(148,38): fatal error C1017: invalid integer constant expression
13>DescriptorSet.cpp
13>C:/VulkanSDK/1.4.304.1/include\vulkan/vulkan_hpp_macros.hpp(148,38): fatal error C1017: invalid integer constant expression
13>ImguiManager.cpp
13>C:/VulkanSDK/1.4.304.1/include\vulkan/vulkan_hpp_macros.hpp(148,38): fatal error C1017: invalid integer constant expression
13>QueryManager.cpp
13>Shader.cpp
13>C:/VulkanSDK/1.4.304.1/include\vulkan/vulkan_hpp_macros.hpp(148,38): fatal error C1017: invalid integer constant expression
13>Swapchain.cpp
13>C:/VulkanSDK/1.4.304.1/include\vulkan/vulkan_hpp_macros.hpp(148,38): fatal error C1017: invalid integer constant expression
13>Utils.cpp
13>C:\Users\Luca\Documents\Git\3DGS.cpp\src\vulkan\VulkanContext.h(3,1): warning C4005: 'VULKAN_HPP_DISPATCH_LOADER_DYNAMIC': macro redefinition
13>C:/VulkanSDK/1.4.304.1/include\vulkan/vulkan_hpp_macros.hpp(231): message : see previous definition of 'VULKAN_HPP_DISPATCH_LOADER_DYNAMIC'
13>C:\Users\Luca\Documents\Git\3DGS.cpp\src\vulkan\VulkanContext.h(4,1): warning C4005: 'VULKAN_HPP_TYPESAFE_CONVERSION': macro redefinition
13>C:/VulkanSDK/1.4.304.1/include\vulkan/vulkan_hpp_macros.hpp(108): message : see previous definition of 'VULKAN_HPP_TYPESAFE_CONVERSION'
13>VMA.cpp
13>VulkanContext.cpp
13>C:/VulkanSDK/1.4.304.1/include\vulkan/vulkan_hpp_macros.hpp(148,38): fatal error C1017: invalid integer constant expression
13>ComputePipeline.cpp
13>C:/VulkanSDK/1.4.304.1/include\vulkan/vulkan_hpp_macros.hpp(148,38): fatal error C1017: invalid integer constant expression
13>Pipeline.cpp
13>C:/VulkanSDK/1.4.304.1/include\vulkan/vulkan_hpp_macros.hpp(148,38): fatal error C1017: invalid integer constant expression
13>GLFWWindow.cpp
13>C:/VulkanSDK/1.4.304.1/include\vulkan/vulkan_hpp_macros.hpp(148,38): fatal error C1017: invalid integer constant expression
13>imgui_impl_glfw.cpp
13>imgui_impl_vulkan.cpp
13>imgui.cpp
13>imgui_demo.cpp
13>Generating Code...
13>Compiling...
13>imgui_draw.cpp
13>imgui_tables.cpp
13>imgui_widgets.cpp
13>implot.cpp
13>implot_demo.cpp
13>implot_items.cpp
13>Generating Code...
13>Done building project "3dgs_cpp.vcxproj" -- FAILED.
14>------ Build started: Project: 3dgs_viewer, Configuration: Release x64 ------
14>Building Custom Rule C:/Users/Luca/Documents/Git/3DGS.cpp/apps/viewer/CMakeLists.txt
14>main.cpp
14>LINK : fatal error LNK1181: cannot open input file '..\..\src\Release\3dgs_cpp.lib'
14>Done building project "3dgs_viewer.vcxproj" -- FAILED.
15>------ Skipped Build: Project: ALL_BUILD, Configuration: Release x64 ------
15>Project not selected to build for this solution configuration 
========== Build: 9 succeeded, 3 failed, 0 up-to-date, 3 skipped ==========

I've checked the vulkan_hpp_macros.hpp for that specific line

#if ( VULKAN_HPP_TYPESAFE_CONVERSION == 1 )
#  define VULKAN_HPP_TYPESAFE_EXPLICIT
#else
#  define VULKAN_HPP_TYPESAFE_EXPLICIT explicit
#endif

So I've manually added to cmake -DVULKAN_HPP_TYPESAFE_CONVERSION=1. But nothing, still doesn't work.
Can you advice on what to do?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions