ewanburnett / catalyst Goto Github PK
View Code? Open in Web Editor NEWA 3D Action Game, written from scratch in C++
A 3D Action Game, written from scratch in C++
Building the library succeeds, but when building the Catalyst project, error C1083 is reported:
Catalyst\Engine\inc\Graphics\Backends\..\..\IO\ResourcePool.h(3,10): fatal error C1083: Cannot open include file: 'd3dx11effect.h': No such file or directory
Assumedly this is because these headers are private to the Catalyst-Engine project, but when changing the visibility, a number of linker errors is reported instead.
1>C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(1094,5): error MSB6006: "link.exe" exited with code 1120.
1>Catalyst-Engine.lib(DX11_GFX.obj) : error LNK2019: unresolved external symbol D3D11CreateDevice referenced in function "void __cdecl CreateDX11Device(class Microsoft::WRL::ComPtr<struct ID3D11Device> &,enum D3D_FEATURE_LEVEL *,class Microsoft::WRL::ComPtr<struct ID3D11DeviceContext> &)" (?CreateDX11Device@@YAXAEAV?$ComPtr@UID3D11Device@@@WRL@Microsoft@@PEAW4D3D_FEATURE_LEVEL@@AEAV?$ComPtr@UID3D11DeviceContext@@@23@@Z)
1>Catalyst-Engine.lib(DX11_GFX.obj) : error LNK2019: unresolved external symbol D3DReadFileToBlob referenced in function "class Microsoft::WRL::ComPtr<struct ID3D10Blob> __cdecl CompileShader(enum Engine::EShaderType)" (?CompileShader@@YA?AV?$ComPtr@UID3D10Blob@@@WRL@Microsoft@@W4EShaderType@Engine@@@Z)
1>Catalyst-Engine.lib(DX11_GFX.obj) : error LNK2019: unresolved external symbol D3DCompileFromFile referenced in function "class Microsoft::WRL::ComPtr<struct ID3D10Blob> __cdecl CompileShader(enum Engine::EShaderType)" (?CompileShader@@YA?AV?$ComPtr@UID3D10Blob@@@WRL@Microsoft@@W4EShaderType@Engine@@@Z)
1>Effects11.lib(EffectAPI.obj) : error LNK2001: unresolved external symbol D3DCompileFromFile
1>Effects11.lib(EffectAPI.obj) : error LNK2019: unresolved external symbol D3DCompile referenced in function D3DX11CompileEffectFromMemory
1>Effects11.lib(EffectLoad.obj) : error LNK2019: unresolved external symbol D3DReflect referenced in function "protected: long __cdecl D3DX11Effects::CEffectLoader::BuildShaderBlock(struct D3DX11Effects::SShaderBlock *)" (?BuildShaderBlock@CEffectLoader@D3DX11Effects@@IEAAJPEAUSShaderBlock@2@@Z)
1>Effects11.lib(EffectLoad.obj) : error LNK2019: unresolved external symbol D3DGetBlobPart referenced in function "protected: long __cdecl D3DX11Effects::CEffectLoader::BuildShaderBlock(struct D3DX11Effects::SShaderBlock *)" (?BuildShaderBlock@CEffectLoader@D3DX11Effects@@IEAAJPEAUSShaderBlock@2@@Z)
The Library Machine Type of d3d11.lib and d3dcompiler.lib are both set to x86, as they are being loaded from the DirectX SDK path's x86 directory.
Changing CMakeLists.txt's find_library command appropriately
find_library(D3D11_LIB d3d11.lib PATHS "$ENV{DXSDK_DIR}/Lib/x64" "C:/Program Files (x86)/Microsoft DirectX SDK/Lib/x64" DOC "The directory where d3d11.lib resides")
still results in the x86 directory being returned.
using FIND_LIBRARY_USE_LIB64_PATHS
could be a solution to this, though it's not a critical issue, it would be good to resolve quickly to avoid other conflicts later down the line.
Running the post-build copy command (generated via CMake) doesn't seem to work; No files are actually being copied.
This could probably be fixed using CMake's Generator Expressions, and a more verbose command.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.