该系列教程源自youtube的cherno的视频-GAME ENGINE series!
视频地址:https://www.youtube.com/watch?v=vtWdgtMo1T4
引擎源代码地址:https://github.com/TheCherno/Hazel
项目初始化设置
1.打开vs, 新建 空项目 : Hazel
2. 在解决方案资源管理器 选择 Hazel 项目 右键选择 属性
注意选择 所有配置 所有平台, 然后打开 配置管理器
3.点开 编辑 , 将 x86 平台 移除 , 选择release的时候 执行同样的操作 也将x86平台移除
4. 将项目生成 应用程序(.exe) 改成生成 动态库(.dll)
5. 将 输出目录 中间目录 分别设置为:
$(SolutionDir)bin\$(Configuration)-$(Platform)\$(ProjectName)\
$(SolutionDir)bin-int\$(Configuration)-$(Platform)\$(ProjectName)\
6. 新建 空项目 : Sandbox , 重复上面的操作,除了第4步
7. 关闭vs, 用文本编辑器打开 Hazel.sln 将下图所示 位置对调一下, 因为vs默认是以第一个项目为 启动项目
8. 在解决方案资源管理器 选择 Sandbox项目 右键选择 添加 引用
9.重新打开vs 选择Hazel 项目 显示所有文件
10. 添加文件夹 src
11. 同样操作为 Sandbox 项目添加 src
12. 在 Hazel 项目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 项目 src目录下 添加 Application.cpp
namespace Hazel {
__declspec(dllexport) void Print();
}
int main() {
Hazel::Print();
return 0;
}
14. 运行会提示 找不到 Hazel.dll . 将生成的Hazel.dll 手动拷贝到Application.exe目录下即可。
这是因为找不到动态链接库。 关于静态链接库和动态链接库的原理可以观看cherno的c++系列视频 有详细的专门讲解