sketchbooks99 / PRayGround

GPU ray tracing framework using NVIDIA OptiX 7 and 8
MIT License
40 stars 2 forks source link

Unable to compile #8

Closed nantogmas92 closed 2 years ago

nantogmas92 commented 2 years ago

I am new to c++ but I followed everything for building but I keep getting the following errors both in linux and windows; Will be grateful for your help

====================[ Build | rayTracingNextWeek | Debug-Visual Studio ]======== "C:\Program Files\JetBrains\CLion 2021.3.4\bin\cmake\win\bin\cmake.exe" --build G:\Projects\OptiXRaytracer\cmake-build-debug-visual-studio --target rayTracingNextWeek --config Debug Microsoft (R) Build Engine version 16.11.2+f32259642 for .NET Framework Copyright (C) Microsoft Corporation. All rights reserved.

Checking Build System glad.vcxproj -> G:\Projects\OptiXRaytracer\cmake-build-debug-visual-studio\bin\Debug\glad.dll glfw.vcxproj -> G:\Projects\OptiXRaytracer\cmake-build-debug-visual-studio\bin\Debug\glfw3.dll imgui.vcxproj -> G:\Projects\OptiXRaytracer\cmake-build-debug-visual-studio\lib\Debug\imgui.lib denoiser.cpp G:\Projects\OptiXRaytracer\prayground\optix\denoiser.h(62,39): error C3646: 'm_guide_layer': unknown override specifier [G:\Projects\OptiXRaytracer\cmake-build-debug-visual-studio\prayground\prayground.vcxproj] G:\Projects\OptiXRaytracer\prayground\optix\denoiser.h(62,53): error C2059: syntax error: '{' [G:\Projects\OptiXRaytracer\cmake-build-debug-visual-studio\prayground\prayground.vcxproj] G:\Projects\OptiXRaytracer\prayground\optix\denoiser.h(62,53): error C2334: unexpected token(s) preceding '{'; skipping apparent function body [G:\Projects\OptiXRaytracer\cmake-build-debug-visual-studio\prayground\prayground.vcxproj] G:\Projects\OptiXRaytracer\prayground\optix\denoiser.h(63,18): error C2065: 'OptixDenoiserLayer': undeclared identifier [G:\Projects\OptiXRaytracer\cmake-build-debug-visual-studio\prayground\prayground.vcxproj] G:\Projects\OptiXRaytracer\prayground\optix\denoiser.h(63,10): error C2923: 'std::vector': 'OptixDenoiserLayer' is not a valid template type argument for parameter '_Ty' [G:\Projects\OptiXRaytracer\cmake-build-debug-visual-studio\prayground\prayground.vcxproj] G:\Projects\OptiXRaytracer\prayground\optix\denoiser.h(63): message : see declaration of 'OptixDenoiserLayer' [G:\Projects\OptiXRaytracer\cmake-build-debug-visual-studio\prayground\prayground.vcxproj] G:\Projects\OptiXRaytracer\prayground\optix\denoiser.h(63,10): error C2976: 'std::vector': too few template arguments [G:\Projects\OptiXRaytracer\cmake-build-debug-visual-studio\prayground\prayground.vcxproj] C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\vector(443): message : see declaration of 'std::vector' [G:\Projects\OptiXRaytracer\cmake-build-debug-visual-studio\prayground\prayground.vcxproj] G:\Projects\OptiXRaytracer\prayground\optix\denoiser.h(63,39): error C2955: 'std::vector': use of class template requires template argument list [G:\Projects\OptiXRaytracer\cmake-build-debug-visual-studio\prayground\prayground.vcxproj] C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\vector(443): message : see declaration of 'std::vector' [G:\Projects\OptiXRaytracer\cmake-build-debug-visual-studio\prayground\prayground.vcxproj] G:\Projects\OptiXRaytracer\prayground\optix\denoiser.cpp(100,1): error C2512: 'std::vector': no appropriate default constructor available [G:\Projects\OptiXRaytracer\cmake-build-debug-visual-studio\prayground\prayground.vcxproj] C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\vector(443,1): message : see declaration of 'std::vector' [G:\Projects\OptiXRaytracer\cmake-build-debug-visual-studio\prayground\prayground.vcxproj] G:\Projects\OptiXRaytracer\prayground\optix\denoiser.cpp(127,17): error C2039: 'guideAlbedo': is not a member of 'OptixDenoiserOptions' [G:\Projects\OptiXRaytracer\cmake-build-debug-visual-studio\prayground\prayground.vcxproj] C:\ProgramData\NVIDIA Corporation\OptiX SDK 7.2.0\include\optix_7_types.h(1030): message : see declaration of 'OptixDenoiserOptions' [G:\Projects\OptiXRaytracer\cmake-build-debug-visual-studio\prayground\prayground.vcxproj] G:\Projects\OptiXRaytracer\prayground\optix\denoiser.cpp(128,17): error C2039: 'guideNormal': is not a member of 'OptixDenoiserOptions' [G:\Projects\OptiXRaytracer\cmake-build-debug-visual-studio\prayground\prayground.vcxproj] C:\ProgramData\NVIDIA Corporation\OptiX SDK 7.2.0\include\optix_7_types.h(1030): message : see declaration of 'OptixDenoiserOptions' [G:\Projects\OptiXRaytracer\cmake-build-debug-visual-studio\prayground\prayground.vcxproj] G:\Projects\OptiXRaytracer\prayground\optix\denoiser.cpp(138,40): error C2065: 'OPTIX_DENOISER_MODEL_KIND_TEMPORAL': undeclared identifier [G:\Projects\OptiXRaytracer\cmake-build-debug-visual-studio\prayground\prayground.vcxproj] G:\Projects\OptiXRaytracer\prayground\optix\denoiser.cpp(140,9): error C2660: 'optixDenoiserCreate': function does not take 4 arguments [G:\Projects\OptiXRaytracer\cmake-build-debug-visual-studio\prayground\prayground.vcxproj] C:\ProgramData\NVIDIA Corporation\OptiX SDK 7.2.0\include\optix_stubs.h(536,20): message : see declaration of 'optixDenoiserCreate' [G:\Projects\OptiXRaytracer\cmake-build-debug-visual-studio\prayground\prayground.vcxproj] G:\Projects\OptiXRaytracer\prayground\optix\denoiser.cpp(190,9): error C2065: 'OptixDenoiserLayer': undeclared identifier [G:\Projects\OptiXRaytracer\cmake-build-debug-visual-studio\prayground\prayground.vcxproj] G:\Projects\OptiXRaytracer\prayground\optix\denoiser.cpp(190,28): error C2146: syntax error: missing ';' before identifier 'layer' [G:\Projects\OptiXRaytracer\cmake-build-debug-visual-studio\prayground\prayground.vcxproj] G:\Projects\OptiXRaytracer\prayground\optix\denoiser.cpp(190,28): error C2065: 'layer': undeclared identifier [G:\Projects\OptiXRaytracer\cmake-build-debug-visual-studio\prayground\prayground.vcxproj] G:\Projects\OptiXRaytracer\prayground\optix\denoiser.cpp(190,37): error C3079: an initializer list cannot be used as the right operand of this assignment operator [G:\Projects\OptiXRaytracer\cmake-build-debug-visual-studio\prayground\prayground.vcxproj] G:\Projects\OptiXRaytracer\prayground\optix\denoiser.cpp(191,9): error C2065: 'layer': undeclared identifier [G:\Projects\OptiXRaytracer\cmake-build-debug-visual-studio\prayground\prayground.vcxproj] G:\Projects\OptiXRaytracer\prayground\optix\denoiser.cpp(192,9): error C2065: 'layer': undeclared identifier [G:\Projects\OptiXRaytracer\cmake-build-debug-visual-studio\prayground\prayground.vcxproj] G:\Projects\OptiXRaytracer\prayground\optix\denoiser.cpp(198,13): error C2065: 'm_guide_layer': undeclared identifier [G:\Projects\OptiXRaytracer\cmake-build-debug-visual-studio\prayground\prayground.vcxproj] G:\Projects\OptiXRaytracer\prayground\optix\denoiser.cpp(200,13): error C2065: 'layer': undeclared identifier [G:\Projects\OptiXRaytracer\cmake-build-debug-visual-studio\prayground\prayground.vcxproj] G:\Projects\OptiXRaytracer\prayground\optix\denoiser.cpp(200,36): error C2065: 'layer': undeclared identifier [G:\Projects\OptiXRaytracer\cmake-build-debug-visual-studio\prayground\prayground.vcxproj] G:\Projects\OptiXRaytracer\prayground\optix\denoiser.cpp(202,28): error C2065: 'layer': undeclared identifier [G:\Projects\OptiXRaytracer\cmake-build-debug-visual-studio\prayground\prayground.vcxproj] G:\Projects\OptiXRaytracer\prayground\optix\denoiser.cpp(205,13): error C2065: 'm_guide_layer': undeclared identifier [G:\Projects\OptiXRaytracer\cmake-build-debug-visual-studio\prayground\prayground.vcxproj] G:\Projects\OptiXRaytracer\prayground\optix\denoiser.cpp(207,13): error C2065: 'm_guide_layer': undeclared identifier [G:\Projects\OptiXRaytracer\cmake-build-debug-visual-studio\prayground\prayground.vcxproj] G:\Projects\OptiXRaytracer\prayground\optix\denoiser.cpp(211,13): error C2065: 'layer': undeclared identifier [G:\Projects\OptiXRaytracer\cmake-build-debug-visual-studio\prayground\prayground.vcxproj] G:\Projects\OptiXRaytracer\prayground\optix\denoiser.cpp(212,13): error C2065: 'layer': undeclared identifier [G:\Projects\OptiXRaytracer\cmake-build-debug-visual-studio\prayground\prayground.vcxproj] G:\Projects\OptiXRaytracer\prayground\optix\denoiser.cpp(214,17): error C2065: 'layer': undeclared identifier [G:\Projects\OptiXRaytracer\cmake-build-debug-visual-studio\prayground\prayground.vcxproj] G:\Projects\OptiXRaytracer\prayground\optix\denoiser.cpp(214,40): error C2065: 'layer': undeclared identifier [G:\Projects\OptiXRaytracer\cmake-build-debug-visual-studio\prayground\prayground.vcxproj] G:\Projects\OptiXRaytracer\prayground\optix\denoiser.cpp(215,32): error C2065: 'layer': undeclared identifier [G:\Projects\OptiXRaytracer\cmake-build-debug-visual-studio\prayground\prayground.vcxproj] G:\Projects\OptiXRaytracer\prayground\optix\denoiser.cpp(246,1): error C2660: 'optixDenoiserComputeIntensity': function does not take 5 arguments [G:\Projects\OptiXRaytracer\cmake-build-debug-visual-studio\prayground\prayground.vcxproj] C:\ProgramData\NVIDIA Corporation\OptiX SDK 7.2.0\include\optix_stubs.h(590,20): message : see declaration of 'optixDenoiserComputeIntensity' [G:\Projects\OptiXRaytracer\cmake-build-debug-visual-studio\prayground\prayground.vcxproj] G:\Projects\OptiXRaytracer\prayground\optix\denoiser.cpp(258,1): error C2660: 'optixDenoiserComputeAverageColor': function does not take 5 arguments [G:\Projects\OptiXRaytracer\cmake-build-debug-visual-studio\prayground\prayground.vcxproj] C:\ProgramData\NVIDIA Corporation\OptiX SDK 7.2.0\include\optix_stubs.h(600,20): message : see declaration of 'optixDenoiserComputeAverageColor' [G:\Projects\OptiXRaytracer\cmake-build-debug-visual-studio\prayground\prayground.vcxproj] G:\Projects\OptiXRaytracer\prayground\optix\denoiser.cpp(268,1): error C2065: 'm_guide_layer': undeclared identifier [G:\Projects\OptiXRaytracer\cmake-build-debug-visual-studio\prayground\prayground.vcxproj] G:\Projects\OptiXRaytracer\prayground\optix\denoiser.cpp(268,1): error C2668: 'std::vector<_Ty,_Alloc>::data': ambiguous call to overloaded function [G:\Projects\OptiXRaytracer\cmake-build-debug-visual-studio\prayground\prayground.vcxproj] C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\vector(1470,50): message : could be 'const _Ty std::vector<_Ty,_Alloc>::data(void) noexcept const' [G:\Projects\OptiXRaytracer\cmake-build-debug-visual-studio\prayground\prayground.vcxproj] C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\vector(1466,44): message : or '_Ty std::vector<_Ty,_Alloc>::data(void) noexcept' [G:\Projects\OptiXRaytracer\cmake-build-debug-visual-studio\prayground\prayground.vcxproj] G:\Projects\OptiXRaytracer\prayground\optix\denoiser.cpp(282,1): message : while trying to match the argument list '()' [G:\Projects\OptiXRaytracer\cmake-build-debug-visual-studio\prayground\prayground.vcxproj] G:\Projects\OptiXRaytracer\prayground\optix\denoiser.cpp(301,9): error C2065: 'm_guide_layer': undeclared identifier [G:\Projects\OptiXRaytracer\cmake-build-debug-visual-studio\prayground\prayground.vcxproj] G:\Projects\OptiXRaytracer\prayground\optix\denoiser.cpp(306,9): error C2065: 'm_guide_layer': undeclared identifier [G:\Projects\OptiXRaytracer\cmake-build-debug-visual-studio\prayground\prayground.vcxproj] G:\Projects\OptiXRaytracer\prayground\optix\denoiser.cpp(309,9): error C2065: 'm_guide_layer': undeclared identifier [G:\Projects\OptiXRaytracer\cmake-build-debug-visual-studio\prayground\prayground.vcxproj] G:\Projects\OptiXRaytracer\prayground\optix\denoiser.cpp(345,5): error C2065: 'm_guide_layer': undeclared identifier [G:\Projects\OptiXRaytracer\cmake-build-debug-visual-studio\prayground\prayground.vcxproj] G:\Projects\OptiXRaytracer\prayground\optix\denoiser.cpp(346,5): error C2065: 'm_guide_layer': undeclared identifier [G:\Projects\OptiXRaytracer\cmake-build-debug-visual-studio\prayground\prayground.vcxproj] G:\Projects\OptiXRaytracer\prayground\optix\denoiser.cpp(347,5): error C2065: 'm_guide_layer': undeclared identifier [G:\Projects\OptiXRaytracer\cmake-build-debug-visual-studio\prayground\prayground.vcxproj] G:\Projects\OptiXRaytracer\prayground\optix\denoiser.cpp(361,20): error C2737: 'frame_byte_size': const object must be initialized [G:\Projects\OptiXRaytracer\cmake-build-debug-visual-studio\prayground\prayground.vcxproj] G:\Projects\OptiXRaytracer\prayground\optix\denoiser.cpp(363,42): error C2065: 'm_guide_layer': undeclared identifier [G:\Projects\OptiXRaytracer\cmake-build-debug-visual-studio\prayground\prayground.vcxproj] G:\Projects\OptiXRaytracer\prayground\optix\denoiser.cpp(373,9): error C2660: 'cudaMemcpy': function does not take 3 arguments [G:\Projects\OptiXRaytracer\cmake-build-debug-visual-studio\prayground\prayground.vcxproj] C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\include\cuda_runtime_api.h(5914,39): message : see declaration of 'cudaMemcpy' [G:\Projects\OptiXRaytracer\cmake-build-debug-visual-studio\prayground\prayground.vcxproj] G:\Projects\OptiXRaytracer\prayground\optix\denoiser.cpp(377,121): error C2660: 'prayground::addFlow': function does not take 5 arguments [G:\Projects\OptiXRaytracer\cmake-build-debug-visual-studio\prayground\prayground.vcxproj] G:\Projects\OptiXRaytracer\prayground\optix\denoiser.cpp(17,13): message : see declaration of 'prayground::addFlow' [G:\Projects\OptiXRaytracer\cmake-build-debug-visual-studio\prayground\prayground.vcxproj] G:\Projects\OptiXRaytracer\prayground\optix\denoiser.cpp(387,20): error C2737: 'frame_byte_size': const object must be initialized [G:\Projects\OptiXRaytracer\cmake-build-debug-visual-studio\prayground\prayground.vcxproj] G:\Projects\OptiXRaytracer\prayground\optix\denoiser.cpp(390,1): error C2660: 'cudaMemcpy': function does not take 3 arguments [G:\Projects\OptiXRaytracer\cmake-build-debug-visual-studio\prayground\prayground.vcxproj] C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\include\cuda_runtime_api.h(5914,39): message : see declaration of 'cudaMemcpy' [G:\Projects\OptiXRaytracer\cmake-build-debug-visual-studio\prayground\prayground.vcxproj] CMakeOutput.log CMakeError.log

sketchbooks99 commented 2 years ago

Hi @nantogmas92 Thank you so much for reporting error. I've found that these errors occur with OptiX \~7.2, since the way to use OptixDenoiser in earlier version slightly differ from OptiX 7.3\~.

I'd like to support ~7.2 version, but this project is going on my spare time, so I'm not sure if I can fix it rapidly. If there are not any problems, please use OptiX 7.3 or 7.4.

nantogmas92 commented 2 years ago

Thanks for the response I will switch to 7.3 or 7.4