我正在用gtkmm(GTK + GUI工具包的C++綁定)編寫的聲譜分析工具(靈感來源於spek)開始開發。我猜想,我應該知道如何現在做這個,但是......在C++應用程序中使用非本地數據/媒體文件(gtkmm)
我的目錄結構是-LA-GNOME,e.g src/
,data/
,po/
,man/
。提出我需要查詢的具體情況是使用位於data/ui
的GTK UI Manager。對於這種特定情況,我希望能夠以獨立於安裝的方式從此文件加載用戶界面(例如,加載文件不取決於make install
;可執行文件可能會運行[並加載UI文件]從src/
運行make
[因此將源文件編譯爲可執行文件]或從其安裝前綴運行)。我如何在我的源代碼中引用UI文件(請記住,文件的加載不是通過創建文件對象(fopen(...)
)而是通過將文件位置作爲字符串參數傳遞給(UIManager).add_ui_from_file(...)
)來執行的?
除了UI文件的這種特殊情況之外,我將如何使用autotools構建過程來對文件(即數據庫,INI文件,XML模式)進行類似的引用?是否有一段相關的Automake代碼可以快速設置項目來使用這種類型的目錄結構?
您不應在代碼中硬編碼文件位置。 – murrayc 2014-10-06 08:05:57