<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Win64下編譯OSG詳細(xì)過程(Win10+VS2015+OSG3.6.3)

      1. 數(shù)據(jù)資源準(zhǔn)備

      OSG官方網(wǎng)站上下載最新的源碼包。一般要求下載三個(gè)包:

      1. OpenSceneGraph-3.6.3,OSG的源碼包。
      2. osg-3rdparty-cmake-master.zip,源碼包依賴的第三方庫(kù)。
      3. OpenSceneGraph-Data-3.4.0.zip,自帶的一些數(shù)據(jù)資源文件。

      同時(shí)還需要提前安裝好VisualStudio環(huán)境,我這里用的VS2015;以及cmake,用來生成VS工程,我這里用的最新的cmake3.13.3。

      2. 編譯第三方庫(kù)

      在VS2015下官方并沒有提供編譯好的包,只能自己編譯,這一步如果有已經(jīng)編譯好的第三方庫(kù)則可以跳過。建議沒庫(kù)編譯經(jīng)驗(yàn)的同學(xué)用其他VS版本跳過這一步,或者找已經(jīng)編譯好的版本(本文最后提供已經(jīng)編譯好的版本)。

      解壓下載好的第三方庫(kù)包osg-3rdparty-cmake-master,就會(huì)發(fā)現(xiàn)里面有個(gè)download_dependencies.bat,用記事本打開:

      也就是說第三方庫(kù)源代碼需要通過這個(gè)批處理文件來獲取,最后會(huì)下載到C:\3rdparty這個(gè)文件夾(不想下載可以從本文最后處地址獲取)。里面有三個(gè)cmd不識(shí)別的命令:git、curl以及7z。可以參考《Git安裝教程(windows)》來安裝git;參考《windows(64位)下使用curl安裝》來安裝curl;至于7z可以安裝7-Zip

      都安裝好以后,將download_dependencies.bat加載cmd里面運(yùn)行,等待下載完成就可以了,注意在cmd里面檢查批處理命令的輸出結(jié)果。

      下載完成以后,打開cmake,填入source目錄以及build目錄,點(diǎn)擊configure,選擇VS2015-64位編譯器,configure完成后,按照如下配置進(jìn)行再次configure,直到?jīng)]有紅色高亮顯示。

      點(diǎn)擊Generate生成VS工程,用VS2015打開,生成解決方案,等待編譯完成就可以了。編譯完成后單獨(dú)生成INSTALL工程,編譯結(jié)果就會(huì)自動(dòng)安裝到CMAKE_INSTALL_PREFIX設(shè)置的文件夾。

      3. 編譯GDAL

      可參看我的另外一篇文章《Win64下編譯集成GEOS和Proj4的GDAL》。建議不熟悉GDAL的同學(xué)直接找編譯好的版本就可以了。或者直接略過,GDAL應(yīng)該只是可選的編譯項(xiàng)之一。

      4. 編譯OSG

      解壓源碼包,文件夾重命名為OpenSceneGraph-3.6.3。啟動(dòng)cmake,填入源代碼路徑和編譯路徑,點(diǎn)擊Configure,界面就會(huì)出現(xiàn)一些編譯選項(xiàng)。

      之前很多資料說多Configure幾次,cmake會(huì)把有問題的地方紅色高亮顯示。但是到我這里最后紅色高亮卻消失了,只是會(huì)提示找不到對(duì)應(yīng)的類庫(kù)。以防萬一我還是將這些依賴庫(kù)一一配置進(jìn)去了。注意配置以下幾個(gè)選項(xiàng):

      1) CMAKE_INSTALL_PREFIX:

      cmake得到的工程都有install工程,生成之后就會(huì)自動(dòng)把需要的頭文件、lib還有dll復(fù)制到對(duì)應(yīng)的目錄中去,這樣方便我們管理。可以把這里設(shè)置成一個(gè)我們想要的目錄,我這里設(shè)置的是D:\Work\OSGBuild\OpenSceneGraph-3.6.3\install。

      2) BUILD_OSG_EXAMPLES/BUILD_MFC_ EXAMPLE:

      這兩個(gè)都是OSG的示例,可以勾選編譯進(jìn)去方便以后學(xué)習(xí)。

      3) ACTUAL_3RDPARTY_DIR

      這里設(shè)置成第三方庫(kù)的路徑,我這里設(shè)置成上面編譯好的第三方庫(kù)安裝路徑:D:\Work\OSGBuild\osg-3rdparty-cmake-master\install。當(dāng)然這里也可以是下載的已經(jīng)編譯好的第三方路徑。

      設(shè)置好這三項(xiàng),再次Configure。第三方庫(kù)有9個(gè):zlib、libpng、libjpeg、libtiff、FreeType、GLUT、GIFLIB、MINIZIP、curl,再加上一個(gè)GDAL。仔細(xì)看輸出,如果存在庫(kù)沒找到,則會(huì)提示對(duì)應(yīng)的庫(kù)Could NOT find。

      如果一旦發(fā)現(xiàn)沒找到對(duì)應(yīng)的庫(kù),可以回頭找對(duì)應(yīng)的配置項(xiàng)。勾選Grouped和Advanced可以方便查找,以下是我自己配置的路徑。

      仔細(xì)看就會(huì)知道萬變不離其宗,簡(jiǎn)單來說就是include找頭文件,library找.lib,debug找debug的.lib,release找release的.lib。

      4) BUILD_DOCUMENTATION

      勾選這個(gè),可以生成編譯OSG幫助文檔的工程,可參照這篇文章《VS2010+64+OSG3.2.1之一幫助文檔的生成》。注意這篇文章的第三個(gè)設(shè)置好像沒必要了,可以直接生成chm。

      5) 編譯過程的問題

      修改以上配置Configure沒有問題之后,點(diǎn)擊Generate,就可以生成工程文件。用VS2015打開工程,生成解決方案,剩下的就是漫長(zhǎng)的等待了。編譯完成之后有個(gè)osgviewerMFC生成錯(cuò)誤:

      在網(wǎng)上查找解決方案,原因是VS2015已經(jīng)不支持太遠(yuǎn)古的VC了。在這個(gè)項(xiàng)目的stdafx.h文件中,找到WINVER和_WIN32_WINNT的宏定義,修改為

      // Modify the following defines if you have to target a platform prior to the ones specified below.
      // Refer to MSDN for the latest info on corresponding values for different platforms.
      #ifndef WINVER                // Allow use of features specific to Windows XP or later.
      #define WINVER 0x0601        // Change this to the appropriate value to target other versions of Windows.
      #endif
      
      #ifndef _WIN32_WINNT        // Allow use of features specific to Windows XP or later.                   
      #define _WIN32_WINNT 0x0601    // Change this to the appropriate value to target other versions of Windows.
      #endif      
      

      也就是將0x501修改為0x0601,這段的含義也就是指定需要win7及以上版本的windows來運(yùn)行。

      再次生成解決方案,編譯就沒有問題了。

      6) 安裝

      分別僅單獨(dú)生成doc_openscenegraph和doc_openthreads,就會(huì)生成幫助文檔。僅單獨(dú)生成INSTALL,OSG的所有依賴、文檔就會(huì)發(fā)送到CMAKE_INSTALL_PREFIX設(shè)置的目錄中。最后目錄中的結(jié)果:

      5. 測(cè)試環(huán)境

      看了很多資料基本上都是在安裝絕對(duì)環(huán)境,好處是配置好了本機(jī)哪里都可以通過文件名調(diào)用,不過壞處是一旦存在相同的dll環(huán)境或者換了電腦就麻煩了。我這里習(xí)慣配置相對(duì)環(huán)境,只要拷貝好代碼,在任何電腦都可以直接使用,不用費(fèi)心再配置一次。

      如下圖所示,建立文件夾:

      將我們剛剛編譯的OSG的dll拷貝到bin/bin_D目錄里面,帶_D的表示是debug版本,注意第三方庫(kù)的dll也應(yīng)該拷貝進(jìn)去。include文件夾就是OSG安裝的include文件夾,里面是OSG的頭文件。lib/lib_D則放入OSG的lib文件。HelloOSG就是我們用VS2015新建的空白win32控制臺(tái)工程。

      在新建main.cpp文件,編寫下面代碼:

      //main.cpp
      
      #include <iostream>
      #include <Windows.h>
      
      #include <osgViewer/Viewer>
      #include <osgDB/ReadFile>
      
      using namespace std;
      
      int main()
      {	
      	//這里修改成OSG數(shù)據(jù)包里面的實(shí)例數(shù)據(jù)
      	string osgPath = "D:\\Work\\OSGBuild\\OpenSceneGraph-Data\\cow.osg";
      
      	osgViewer::Viewer viewer;
      	osg::Node * node = new osg::Node;	
      	node = osgDB::readNodeFile(osgPath);
      	viewer.setSceneData(node);
      	return viewer.run();
      }
      

      在工程屬性中,按照如下設(shè)置:

      1. 指定頭文件文件夾
      2. 指定lib文件夾
      3. 指定lib文件
      4. 指定dll的文件夾

      大家可以配置一個(gè)選項(xiàng)然后編譯運(yùn)行試試,就可以體會(huì)到程序具體是如何使用C/C++動(dòng)態(tài)庫(kù)的。注意debug設(shè)置debug目錄,release設(shè)置release目錄。由于我這里都是設(shè)置的相對(duì)目錄,即使換了電腦仍然可以使用。最后運(yùn)行的結(jié)果:

      6. 資源下載

      全套的編譯資源(包含編譯的chm幫助)都已經(jīng)上傳到網(wǎng)盤:https://pan.baidu.com/s/1V5c2_XO1167y3yg1S9OEFA ,密碼:70fh。

      其中第一個(gè)文件夾內(nèi)就是第2節(jié)提到的bat命令下載的第三方源碼。所有的動(dòng)態(tài)庫(kù)都是VS2015-64位編譯的,包含了debug和release兩套dll。

      7. 參考文獻(xiàn)

      1. OSG環(huán)境搭建(OSG3.6.2+VS2017+Qt5.10.1)
      2. VS2015+OSG3.6.1編譯問題
      3. OSG3.4.0+VS2010+WIN10編譯及二次開發(fā)環(huán)境搭建
      4. VS2010+64+OSG3.2.1之一幫助文檔的生成
      posted @ 2019-02-03 23:15  charlee44  閱讀(7027)  評(píng)論(0)    收藏  舉報(bào)
      主站蜘蛛池模板: 国模粉嫩小泬视频在线观看 | 狼人大伊人久久一区二区| 欧美日韩人人模人人爽人人喊| 亚洲AV日韩AV永久无码下载| 国产中文三级全黄| 亚洲国产日韩A在线亚洲| 舒城县| 国产精品美腿一区在线看| 无码人妻一区二区三区兔费| 国产精品福利中文字幕| 日韩一本不卡一区二区三区| 国产高跟黑色丝袜在线| 日本一区二区久久人妻高清| 午夜福利在线观看成人| 2018年亚洲欧美在线v| 中文字幕亚洲人妻一区| 亚洲精品一区二区妖精| 一级片一区二区中文字幕| 国产精品麻豆欧美日韩ww| 日本中文字幕在线播放| 在线日韩日本国产亚洲| 一二三三免费观看视频| 欧美大胆老熟妇乱子伦视频| 免费无码黄网站在线观看| 九九热在线精品视频免费| 酒泉市| 日本韩无专砖码高清观看| 久久综合88熟人妻| 人妻丰满熟妇av无码区| 亚洲色大成网站www永久男同| 国产精品夫妇激情啪发布| 日韩精品成人网页视频在线| 色综合热无码热国产| 免费AV片在线观看网址| 无码免费大香伊蕉在人线国产| 久久精品不卡一区二区| 久久亚洲精品11p| 亚洲一区二区美女av| 亚洲色欲久久久久综合网| 一本色道久久加勒比综合| 久久天天躁夜夜躁狠狠|