跳转至

1.重新构建ImGUILayer放入引擎应用程序中,而不是Sandbox

Imgui本身就应该是一个和引擎深度绑定的部分

2.删掉ImGUIOpenGLRenderer,直接用imgui库里面backend的示例写一个imguibuild

3.重写ImGUILayer和Application

目的是将imguilayer放到application中加载

4.问题:动态库引用静态库,如何链接上动态库中的静态库呢?

产生问题的原因:CryDust没有引用到的静态imgui库不会编译放到dll文件中。 解决方案一:将imgui也改为dll的动态导出。静态lib如果决定使用不存在的东西就会出现链接错误 为了确保imgui所有的内容都导出到dll,可以使用模块文件:Crydust.def,列出所有要导出的函数签名

解决方案二:CryDust改为静态库...呃啊啊。 + ImGUI和GLFW也要改成多线程静态库编译,不然链接不到! 静态链接: + 速度优势, + 保证最新最正确, + 可以执行一些内联操作, + exe就是我们所有的游戏, + 不需要愚蠢的导出输入宏。 + dll还有些边界问题与警告难以解决 动态链接: + 热加载 + 用来加载脚本文件 +