dear imgui是一款輕量級的gui 跨平台框架。
由於原文給的只是源**,編譯環境是基於ide的專案配置檔案,不是很方便。此處我將使用xmake這款輕量級的自動化編譯,來構建專案。
–簡介
之所以使用xmake是因為,相比於cmake, xmake語法更加人性化,配置命令也很簡單,可讀性很強,強烈推薦。
–一鍵安裝
bash <(wget
/xmake/master
/scripts/get.sh -o -)
由於imgui 是依賴於opengl庫的,所以在使用之前會呼叫libgl.so共享庫。檔案位址在/usr/lib/x86_64-linux-gnu/
目錄下。有時候可能鏈結的時候系統沒有包含這個目錄,需要自己新增這個鏈結位址。
由於原始檔會使用#include
但是我是deepin系統,在/usr/include/gl
這個資料夾下沒有找到gl3.h
只有gl.h
編譯的時候發現很多函式未定義,所以改為#include
發現可以,該標頭檔案包含了需要的函式。
imgui 依賴glfw3
這個庫,同時glfw3
也有自己的依賴,所以配置鏈結檔案時的xmake檔案也成了關鍵問題。
glfw3的安裝,可以看官網,這裡就不做介紹了。主要看glfw3
的依賴,在安裝完glfw3
庫以後,可以通過如下命令,來了解lib的詳細資訊。
cat /usr/local/lib/pkgconfig/glfw3.pc
pkg-config 使用記錄
pkg-config 詳細介紹 強烈推薦
根據以上資訊 配置的xmake.lua
檔案
-- the debug mode
if is_mode("debug") then
-- enable the debug symbols
set_symbols("debug")
-- disable optimization
set_optimize("none")
end
target("imgui")
set_kind("shared")
add_linkdirs("/usr/lib/x86_64-linux-gnu/","/usr/local/lib")
-- 新增鏈結的lib名稱
add_links("glfw3","gl","xrandr","x11","xi","xxf86vm","pthread","dl","xinerama","m","rt","xcursor")
add_headers("src/imgui/*.h")
add_files("src/imgui/*.cpp")
target("hello")
set_kind("binary")
-- 新增鏈結的目錄 方便ld尋找
-- add_linkdirs("/usr/lib/x86_64-linux-gnu/","/usr/local/lib")
-- 新增鏈結的lib名稱
-- add_links("glfw3","gl","xrandr","x11","xi","xxf86vm","pthread","dl","xinerama","m","rt","xcursor")
add_headers("src/imgui/*.h")
-- add files
add_files("src/main.cpp")
add_deps("imgui")
專案編譯完成 ,可以愉快的使用imgui啦。 專案記錄 架構
今天,專案負責人召集大家開會,要修改我們前面做的設計,並給我們展示了他這2天進行的架構設計。另外兩位同事都有自己的意見,一是覺得要需求牽引,不支援前期的可能是過度也可能是錯誤的設計 二是要修改的 量過大,前面的工作大部分都要重來。我看了 展示後,有這樣的感覺 1 架構設計得很好 2 寫得很好 3 擔...
自建專案記錄
1 kindeditor 使用注意點 1 將jsp包中的lib下的三個jar檔案放到web inf lib下面 2 若js出現報錯,右鍵報錯檔案 myeclispe exclude from validation 即可 3 在欲顯示編輯框的頁面的之間插入如下 注意,是假設kindeditor檔案放入...
angularjs專案記錄
1 如何去掉ng repeat中的 hashkey?答 使用ng repeat上加上 track by index 2 jquery change事件不實時 input輸入框的change事件,要在input失去焦點的時候才會觸發 input name myinput change function...