在上一篇文章中,我们初步认识了一下imgui,并且成功运行了他提供的demo。这只是开始学习imgui的第一步,在实际使用时,我们需要将imgui应用到自己的工程中去,所以你需要具备将imgui加到你工程中去的能力,简单起见,我们可以利用imgui提供的examples中的一个demo来创建一个新的单独的VS工程先。
一、选定你要使用的组合
我选择的是glfw+opengl3这样的组合形式,也就是examples中的example_glfw_opengl3中的demo。在这个目录下有一个main.cpp是我们创建新工程需要的文件之一。
二、确定需要哪些文件
1. 首先查看使用VS打开的examples中的example_glfw_opengl3中需要哪些文件。
经过删减和整理,也就是保存下来下面这些文件,在正常情况下就可以将example_glfw_opengl3的demo运行起来了。libs是直接从原来的examples中复制出来没有删减。
三、创建新的工程
上面我们已经确定了我们运行example_glfw_opengl3这个demo所需要的的最少的文件,之所以暂时先把那些没有用到的文件删除掉,是为了避免他们混淆视听,这样我们就可以有更加清晰的思路来看待这个问题,就像我们所说的商业模式中的产品模式,我们为了解决客户的问题,要提供自己的产品或者服务,但是在最开始呢,我们没有必要也不能花重资来打磨一个产品,我们只需要给出我们的“最小可行产品”就可以,那什么是最小可行产品呢,就是说,能够解决客户问题的,成本最低的,最简单的产品。当客户对我们提供的“最小可行性产品”满意了,并且愿意花时间或者花钱了,我们才开始投入人力物力来进一步打磨更量产该产品,满足客户的更多需求。
我们在VS上创建一个空工程,新创建一个thirdpaty文件夹,并且将刚才经过删减后的imgui-master文件夹放进去。并且将刚才从examples中复制出来的main.cpp剪切到工程的根目录下。
到这里我们已经把需要的文件都准备好了,接下来我们还需要将相应的文件添加到工程中去。方法如下:
全部添加成功后就变成了下面这个样子,.h文件和.cpp文件可以区分得开。
把必须的文件都添加到工程后我们需要在属性设置中,设置路径和所需要的库 ,否则是编译不过的,文件和库都找不到。
1. 设置"Additional Include Directories",这里设置了程序中所有使用#include的方式加入工程的的文件的路径
2. 设置“Additional Library Directory”,设置了程序需要的glfw路的路径
3. 设置“Additional Dependences”,就是要指定工程需要的库的名称,这里的glfw3.lib文件是在咱们工程中的,而opengl3应该是系统的库。
经过上面的设置,通常情况下程序就可以正常运行了,效果如下:
我自己在配置这个程序中遇到的一些问题有哪些呢
1. 我明明配置好了include所有的路径,我确定是正确的,为啥编译程序时还是提醒我找不到文件呢?原因是我犯了很白痴弱智的错误。所以大家一定要注意模式的统一,要不然你就会开始怀疑人生。
2. 如果你配置后出现了,库的问题,如提示说,未解析的外部符号的错误提示,那你就再创建一个新的工程再配置一遍,如果单个程序可行了,但是在你原有的工程中配置imgui时遇到了上述的问题,你要留意一下你原工程中是否有你自己添加的.props文件,你排查一下是不是因为这个 文件的问题,我也不知为什么,我删除这文件就可以解决问题,后来重新创建了一个新的.props文件,问题就解决了。