osgEarth編譯的一些問題

2022-01-21 18:57:44 字數 1045 閱讀 3526

這兩天藉著osg培訓的機會捯飭了下64位osgearth的編譯。遇到了一些問題:

首先我沒有編譯osg,用的提供的osg3.2.1編譯好的64位包。

編譯osgearth先後編譯了2個版本,先是2.7.0後又編譯了2.5.0。本來osgearth別人也提供了一套開發包,但是沒有辦法直接執行示例程式,所以想自己編譯一套。

1、對於osgearth2.7.0,作業系統win10 64bit普通家庭版。我採用了cmake3.2.1版本,配置主要是第三方庫,osg路徑什麼的。一般來說只要依賴項都配置好了,cmake不會有報錯資訊。生成vc專案檔案後,編譯。安裝過程報了個沒有c盤許可權的問題,這個手工建立個資料夾居然解決了。

但是執行示例程式的時候報找不到程式入口點的錯誤。原因是我配置的環境變數path中是之前別人提供的osgearth路徑,所以一直出錯。

2、之後我又編譯2.5.0,作業系統win10 64bit普通家庭版,因為freeearth說是在這個基礎上開發的。

win10下用cmake3.2.1提示好多警告資訊,生成專案檔案後編譯,但是還是有好多無法鏈結到lib的錯誤。

懷疑是cmake版本過高的問題,於是採用培訓老師說的cmake2.8.12.2(我都採用的是免安裝的.zip版本),這個好多依賴項都沒有辦法自動識別,所以必須手工配置。主要是第三方庫、gdal、geos、qt、trion、zlib1,配置完成後沒有提示警告。

生成專案檔案,編譯過程沒有問題。但是在win10 vs2010上無法執行install,不知道什麼原因。

3、同樣的設定我又在win7系統上編譯,編譯通過,install也正常。接下來又出現找不到程式入口點這樣的錯誤。還是環境變數搞混了。

注意:程式執行使用的dll必須和編譯時候使用的保持一致。

cmake不同版本可能存在不一致性,所以編譯特定版本的osgearth庫要檢視一下推薦哪個版本的cmake。

4、osgearth對.earth格式檔案支援,實現了瓦片和高程資料的載入,實現了對模型檔案的載入,實現了對shp檔案的載入。

對不同檔案的支援採用不同的外掛程式形式進行支援。

核心編譯遇到的一些問題

我在編譯核心的時候也不知道是我的編譯方式有問題還是其他的原因 使用的是天嵌e8的開發板附帶的原始碼,cpu是三星的s5pv210,核心版本3.0.8 遇到了很多的問題,下面就是我遇到的一些問題和解決方案,有些方案是我在網上找,有些是我自己想的,如果有什麼不對的,請告知,謝謝 問題1 drivers ...

String 一些問題

前言 等號 對於基本型別,比較的是值,對於引用型別,比較的是記憶體位址。1.在物件池中建立,如果常量池中已經存在則返回常量池中已經有的。private static void test1 結果 true 2.乙個在string pool中,乙個在堆中。private static void test...

C 一些問題

1 if else語句和switch case語句的效率分析對比 switch效率高。switch的效率與分支數無關,當只有分支比較少的時候,if效率比switch高,因為switch有跳轉表。分支比較多,那當然是switch 根據大量的實際程式測試 不考慮不同的編譯器優化程度差異,假設都是最好的優...