---
# System prepended metadata

title: ImGui（win10 & VS2022）

---

# ImGui（win10 & VS2022）

ImGui: https://github.com/ocornut/imgui
imgui-master.zip解壓縮，將資料夾名稱改為imgui。
imgui\examples 提供了 Visual Studio 16種專案。

## win32_directx12 專案
1. 建立空白C\++專案，將 example_win32_directx12 的 main.cpp 複製過來並加入專案。
2. **專案組態，選所有組態**
3. **專案屬性 >> C/C++ >> 其他include目錄，加入**
$(ProjectDir)imgui
$(ProjectDir)imgui\backends
4. **專案屬性 >> 連結器 >> 輸入 >> 其他相依性，加入**
d3d12.lib
d3dcompiler.lib
dxgi.lib
5. 將原本範例相關的 cpp, h 檔案加入專案。
![image](https://hackmd.io/_uploads/B1tLeqCg1g.png)
## glfw_opengl3 專案
1. 建立空白C\++專案，將 example_glfw_opengl3 的 main.cpp 複製過來並加入專案。
2. **專案組態，選所有組態**
把 imgui\examples\libs 複製到專案資料夾中。
3. **專案屬性 >> C/C++ >> 其他include目錄，加入**
$(ProjectDir)imgui
$(ProjectDir)imgui\backends
$(ProjectDir)libs\glfw\include
4. **專案屬性 >> 連結器 >> 一般 >> 其他程式庫目錄，加入**
$(ProjectDir)libs\glfw\lib-vc2010-64
5. **專案屬性 >> 連結器 >> 輸入 >> 其他相依性，加入**
opengl32.lib
glfw3.lib
6. 將原本範例相關的 cpp, h 檔案加入專案。
![image](https://hackmd.io/_uploads/HybTxqAeye.png)

## 其他
1. 改變專案屬性，或者將任何檔案加入專案，專案的配置檔內容會同步改變。
只提供了路徑卻未將相依的檔案加入專案，或者加入了專案卻未設置路徑，代表專案配置不正確就會大量報錯。
error LNK2001: 無法解析的外部符號 ...
error LNK2019: 在函式 ... 中參考了無法解析的外部符號
2. （不做也不影響）"建置"會出現 LINK : warning LNK4098: 預設的程式庫 'MSVCRT' 與其他使用的程式庫衝突，請使用 /NODEFAULTLIB:library，專案屬性 >> 連結器 >> 輸入 >> 忽略特定的預設程式庫，加入msvcrt.lib。或者把專案屬性 >> C/C++ >> 程式碼產生 >> 執行階段程式庫，改成多執行緒 DLL (/MD)。
3.  可以在方案中加入其他現有專案。
多專案時，方案屬性 >> 單一開始專案改為目前的選取範圍，才能執行不同專案。
4. 基本上完成上述步驟，就可以執行了。最後記得把 examples 資料夾刪除掉。
![image](https://hackmd.io/_uploads/B1paKj0lkl.png)