NcStudios / NcEngine

NcEngine: 3D game engine written in modern C++ and Vulkan
https://ncstudios.itch.io/
MIT License
69 stars 2 forks source link

Figure out and fix Diligent link warnings #777

Open jaremieromer opened 3 weeks ago

jaremieromer commented 3 weeks ago

See title. I'm not sure what to do about these warnings, but it'd be wonderful if we could address them.

[F:\Source\NcEngine\build\sample\Sample.vcxproj]
[build] LINK : warning C4743: 'const std::runtime_error::`vftable'' has different size in 'f:\source\ncengine\build\_deps\diligentcore\thirdparty\spirv-tools\source\val\validate_function.cpp' and 'f:\source\ncengine\build\_deps\diligentcore\thirdparty\glslang\spirv\glslangtospv.cpp': 24 and 32 bytes [F:\Source\NcEngine\build\sample\Sample.vcxproj]
[build] LINK : warning C4743: 'const std::_System_error::`vftable'' has different size in 'f:\source\ncengine\build\_deps\diligentcore\thirdparty\spirv-tools\source\val\validate_function.cpp' and 'f:\source\ncengine\build\_deps\diligentcore\thirdparty\glslang\spirv\glslangtospv.cpp': 24 and 32 bytes [F:\Source\NcEngine\build\sample\Sample.vcxproj]
[build] LINK : warning C4743: 'const std::system_error::`vftable'' has different size in 'f:\source\ncengine\build\_deps\diligentcore\thirdparty\spirv-tools\source\val\validate_function.cpp' and 'f:\source\ncengine\build\_deps\diligentcore\thirdparty\glslang\spirv\glslangtospv.cpp': 24 and 32 bytes [F:\Source\NcEngine\build\sample\Sample.vcxproj]
[build] LINK : warning C4743: 'const std::ios_base::failure::`vftable'' has different size in 'f:\source\ncengine\build\_deps\diligentcore\thirdparty\spirv-tools\source\val\validate_function.cpp' and 'f:\source\ncengine\build\_deps\diligentcore\thirdparty\glslang\spirv\glslangtospv.cpp': 24 and 32 bytes [F:\Source\NcEngine\build\sample\Sample.vcxproj]
[build] LINK : warning C4743: 'const std::runtime_error::`vftable'' has different size in 'f:\source\ncengine\build\_deps\diligentcore\thirdparty\spirv-tools\source\val\validate_image.cpp' and 'f:\source\ncengine\build\_deps\diligentcore\thirdparty\glslang\spirv\glslangtospv.cpp': 24 and 32 bytes 
McCallisterRomer commented 3 weeks ago

@jaremieromer I do not get any warnings from LINK. There are some from cl regarding warning level overrides. I ran a fresh build with visual studio 17.11.1 + ninja. Build options should be pretty typical:

"cmake.configureSettings": {
        "NC_BUILD_TESTS": "ON",
        "NC_PROD_BUILD": "OFF",
        "NC_PROFILING_ENABLED": "OFF",
        "NC_USE_DILIGENT": "ON",
        "NC_BUILD_INTEGRATION_TESTS": "ON"
}

I'm not sure what environment differences to look for here. Does this persist after nuking the build directory?

McCallisterRomer commented 3 weeks ago

Tried again with VS generator and still nothing. Latest CI run also looks clean.