該系列教程源自youtube的cherno的視頻-GAME ENGINE series!
視頻地址:https://www.youtube.com/watch?v=vtWdgtMo1T4
引擎源代碼地址:https://github.com/TheCherno/Hazel
項(xiàng)目初始化設(shè)置
?1.打開(kāi)vs奈懒, 新建 空項(xiàng)目 : Hazel
2. 在解決方案資源管理器? 選擇 Hazel 項(xiàng)目 右鍵選擇 屬性
? ? 注意選擇? 所有配置? 所有平臺(tái)纸型, 然后打開(kāi) 配置管理器
3.點(diǎn)開(kāi)?編輯? ,? 將?x86?平臺(tái)?移除??关霸, 選擇release的時(shí)候 執(zhí)行同樣的操作 也將x86平臺(tái)移除
4.? 將項(xiàng)目生成 應(yīng)用程序(.exe) 改成生成 動(dòng)態(tài)庫(kù)(.dll)
5. 將 輸出目錄 中間目錄 分別設(shè)置為:?
$(SolutionDir)bin\$(Configuration)-$(Platform)\$(ProjectName)\
$(SolutionDir)bin-int\$(Configuration)-$(Platform)\$(ProjectName)\
6.??新建?空項(xiàng)目 :?Sandbox? ,? 重復(fù)上面的操作纵诞,除了第4步? ?
7. 關(guān)閉vs,? 用文本編輯器打開(kāi)?Hazel.sln? 將下圖所示 位置對(duì)調(diào)一下荧缘, 因?yàn)関s默認(rèn)是以第一個(gè)項(xiàng)目為 啟動(dòng)項(xiàng)目
8.?在解決方案資源管理器? 選擇?Sandbox項(xiàng)目 右鍵選擇 添加? ?引用
9.重新打開(kāi)vs? 選擇Hazel? 項(xiàng)目? 顯示所有文件
10. 添加文件夾 src
11. 同樣操作為 Sandbox 項(xiàng)目添加 src
12. 在 Hazel 項(xiàng)目src目錄下添加 Test.h? Test.cpp
#pragma once
namespace Hazel {
__declspec(dllexport) void Print();
}
#include "Test.h"
#include <cstdio>
namespace Hazel {
????void Print() {
????????printf("Welcome to Hazel Engine World!\n");
????}
}
13. 在 Sandbox 項(xiàng)目 src目錄下 添加?Application.cpp
namespace Hazel {
????__declspec(dllexport) void Print();
}
int main() {
????Hazel::Print();
????return 0;
}
14. 運(yùn)行會(huì)提示 找不到 Hazel.dll? ?. 將生成的Hazel.dll 手動(dòng)拷貝到Application.exe目錄下即可。
這是因?yàn)檎也坏絼?dòng)態(tài)鏈接庫(kù)。? 關(guān)于靜態(tài)鏈接庫(kù)和動(dòng)態(tài)鏈接庫(kù)的原理可以觀(guān)看cherno的c++系列視頻? 有詳細(xì)的專(zhuān)門(mén)講解