Game Engine Programming 019 - Building and loading the game code DLL | C++ Game Engine

preview_player
Показать описание
Today, we're going to take the next step in our infrastructure for game development in Primal Engine. In this video, I'll show you how to use Visual Studio automation to open and build the game code solution and also how to load the resulting DLL in the level editor.
(Green Episode)

by Arash Khatami
-------------------------------------------------------------
#PrimalEngine #GameEngineSeries #GameEngineProgramming #TheGameEngineProgrammingSeries
Рекомендации по теме
Комментарии
Автор

I'm not even creating an engine but I'm subscribing. This is super interesting.

davidb
Автор

Your channel and the content on it is of absolute superb quality. I will be happily following along with your work as the channel grows and more people get to learn from you!

davidkatko
Автор

why .. When i batch build my solution in all project always Dubug Debug editor always success, but Release and ReleaseEditor always Fail ! And each line of code being Red at id even namespace id::id_type

i have a note in the output says "Note: C++ does not support default int"
some one have this issue before ? at 23:42

only releaseEditor success in my Editor but Engine, EngineDLL and EngineTest Fail

abdelrhmanmustsfa
Автор

This game engine is taking me twice as long to develop because everytime you do a mager change, i spend hours sometimes days fixing it. like ive now got another problem when building any config
System.DllNotFoundException: 'Unable to load DLL 'EngineDLL.dll' or one of its dependencies: The specified module could not be found. (0x8007007E)'
when i build its creating:
x64\ Debug, DebugEditor ect that contains the Engine.Dll files only
and x64\x64 Debug, DebugEditor ect contains editor files only
how to i make the engine.dll build into the same folders as the editor files?? thanks in advance

StarGEntertainment
Автор

At 25:10 I keep getting "LNK1104 cannot open file 'Engine.lib'".
I'm trying to find out why it happens and Google found too many reasons why it can happen. What I'm currently thinking happening is that the file doesn't exist in the project and it seems to be the case.

FrostedMike
Автор

@Game Engine Series I have an error when I write simple lines of code in the gameCode where it says "LNK1168 impossible to open ...\NewProject.dll to write". Can anyone help? I'm stuck on this for like more than an hour without having a single clue why it would do this...

etienneheroux-cossette
Автор

23:33 If you right click solution and go to "Project Build Order..." you can manage dependencies for each project so you don't need to build multiple times.

simonw
Автор

C# notation for C++ (#pragma region "note", #pragma endregion) is
#region "note"
/* code here, which if i remember is the same in vb */
#endregion
also im going to asume at a later date you completely removed the pdb deletion or fixed it since seems that it can and will delete the newly created pdb.
also noticed, it dosent always unload and load the new compile, and it dosent always load it on startup. (at least at this point in the series)

OneMeanDragon
Автор

If you call "BuildSolution" using the method instead of the command, you will be able to build it with a boolean specifying if it should wait until the previous build has completed

RoboGameOfficial
Автор

For anyone struggling with invalid paths and hard to explain issues, add tons of calls to the Logger script to show what is happening.
Where is the folder located? Show me in the Logger.
Where did you attempt add that file? Show me in the Logger.
Where did you end up adding that file? Logger.
Logger, tell me when did that process start.
Try/Catch.
"Variable X is null".
"Variable X equals to ___".
"Completed adding files".
"Editor is ready".
"System shuts down".

So many bugs can be dealt with using only proper tracking and messages system.
This is why the Logger is important and the best tool in the game engine.

FrostedMike
Автор

I am currently working on the engine and am having differences in my C++ code between Debug and Release builds. In my Debug and DebugEditor, there are no errors in my C++, but in my Release and ReleaseEditor builds, I am getting a lot of "include" errors, but there are no differences in my project properties with "Additional Include Directories" or anything of the sort. Does anyone know why? Thank you!

therealvincentle
Автор

If anyone has problems with the entry point, in the engine I had to change int main() to int CALLBACK WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR pCmdLine, int nCmdShow) and also include "windows.h". That's because the game project is a Windows application. Probably this happened just to me, but who knows

Sorin-po
Автор

so can you squeeze me in for a tutorial my man?
would like to know how to: dll hooks to ue1 engine~

blacklightretro
Автор

why compile with visual studio? why not within the editor as unity/ue does? with microsoft roslyn for example

nordicus
Автор

It seems you forgot to remove the build events so with every builds it create more and more logs =)

ThorvaldtM
Автор

Hi, first of all, I want to say a huge thank you for what you do, I learn a lot of new things in these videos, and I really love that. I have a problem building the game code projects, when I make changes in the game code and build the game project solution I get the following error: "LINK : fatal error LNK1201: error writing to program database Does anyone face this error and have a solution? Thanks a lot! keep up the good work.

danielrotnemer
Автор

no no no all of this is done. just need to know how to write the render hook/driver.

blacklightretro
Автор

anyone knows if can i follow this on a mac? or does it need some windows libraries or stuff in .NET that's not supported yet in macs?

china-is-number-one
join shbcf.ru