OSG for android的編譯總結

來源:互聯網
上載者:User

標籤:靜態   play   available   doc   article   運行   重要   native   directory   

最近對OSG進行了android下的編譯。簡單總結一下:

0.介紹下環境:WIN7 64位 + cygwin32位 + OSG3.2.0

1.首先介紹幾篇博文,參考了不少,但並沒有解決我出現的問題,但是仍有借鑒意義。

http://blog.csdn.net/wonegequ1/article/details/46501397

http://blog.csdn.net/xuhaiyan8825/article/details/7847313

2.OSG版本很重要,上面幾篇博文之所以沒解決我的問題,最後原因竟然是因為我一開始使用的是OSG3.4版本,導致一直出現下面的錯誤:

pthread_setconcurrency’在此範圍中尚未聲明     ‘pthread_getconcurrency’ 在此範圍中尚未聲明   pthread_yield’在此範圍中尚未聲明

上面只出現在了OSG3.4版本中,解決方案還在研究中。換成OSG3.2後,問題就消失。

這裡推薦OSG英文的官網http://www.openscenegraph.org/index.php/documentation/platform-specifics/android。對osg各版本的編譯介紹的比較清楚,其他博文也都是參考官網的。但是筆者按照官網對OSG3.4進行編譯還是有問題,這個後續再研究。

3.cygwin安裝很麻煩。裝過64位的,報下面的錯誤:  CMake no longer defines WIN32 on Cygwin!   。有博文說換成32位就沒問題了,結果我換了32位,還是有這個問題。然後我只能忽略了,最後編譯也成功了,所以私人博文不是特別可靠。對於cygwin的安裝推薦博文:http://blog.chinaunix.net/uid-7547035-id-60230.html。勾選devel,全裝吧。然後在實際使用cygwin中還是會報缺少某些包,回過頭重新再search再裝就行了。最後到gta這個包,還是報找不到,這個可以忽略,不影響編譯。

4.後續還會遇到gdal_priv.h: No such file or directory  的錯誤,這邊是在運行cygwin的cmake時,增加對它的路徑的定義:

-DGDAL_DIR=/cygdrive/d/OpenSceneGraph-3.2.0/3rdparty/gdal。然後再進行make時就不會有問題了。

5.一直對cygwin不太理解。現在有了一些體會。cygwin為windows提供了類UNIX的環境。用來搭建c++開發環境GCC。因為安卓作業系統是基於linux的開源系統,而linux是用c語言開發的。安卓本身是用java開發的,並使用JNI調用本地的c語言庫,實現作業系統底層調度。但底層驅動及作業系統核心是使用c語言及彙編開發的。。安卓應用可以使用java開發,也可以使用c++native開發

6.    .a檔案是linux下的靜態連結庫檔案     .so是linux下的動態連結程式庫檔案     

 

OpenGL ES 1.0 :

cmake .. -DOSG_BUILD_PLATFORM_ANDROID=ON -DDYNAMIC_OPENTHREADS=OFF -DDYNAMIC_OPENSCENEGRAPH=OFF -DOSG_GL_DISPLAYLISTS_AVAILABLE=OFF -DOSG_GL_MATRICES_AVAILABLE=ON -DOSG_GL_VERTEX_FUNCS_AVAILABLE=ON -DOSG_GL_VERTEX_ARRAY_FUNCS_AVAILABLE=ON -DOSG_GL_FIXED_FUNCTION_AVAILABLE=ON -DOSG_CPP_EXCEPTIONS_AVAILABLE=OFF -DOSG_GL1_AVAILABLE=OFF -DOSG_GL2_AVAILABLE=OFF -DOSG_GL3_AVAILABLE=OFF -DOSG_GLES1_AVAILABLE=ON -DOSG_GLES2_AVAILABLE=OFF -DANDROID_ABI="armeabi armeabi-v7a" -DANDROID_PLATFORM=8 -DANDROID_STL="gnustl_static" -DANDROID_NDK=/cygdrive/d/01Lib/04android-ndk-r9d -DJ=4 -DCMAKE_INSTALL_PREFIX=/cygdrive/d/OpenSceneGraph-3.2.0/bin -DGDAL_DIR=/cygdrive/d/OpenSceneGraph-3.2.0/3rdparty/gdal/include

 

OSG for android的編譯總結

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.