在上一篇文章中,我們初步認識了一下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文件,問題就解決了。