• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆-145  評(píng)論-173  文章-70  trackbacks-0
             當(dāng)程序需要脫離opencv的安裝環(huán)境是,靜態(tài)庫(kù)的創(chuàng)建就顯得重要了。首先筆者的opencv1.0安裝路徑在C:\Program Files\OpenCV,并且對(duì)opencv進(jìn)行了配置。下面就進(jìn)入正題吧。

                 一. 找到opencv源碼的一處錯(cuò)誤:通過(guò)搜索關(guān)鍵字foreground_regions,發(fā)現(xiàn)在cvaux.h文件中,第1137行注釋沒(méi)有閉合,且有不明原因的亂碼,導(dǎo)致下一行定義的foreground_regions成為注釋的一部分,源文件原始代碼如下:
                CvMemStorage*   storage;     
            改為如下形式
                CvMemStorage*   storage;                    \
                CvSeq*          foreground_regions

                二. 在編譯過(guò)程中可能會(huì)碰到“streams.h 沒(méi)有發(fā)現(xiàn)”這樣的錯(cuò)誤,這種問(wèn)題是需要 DirectShow SDK 。具體的解決方法如下:

               

            1. 從 msdn.microsoft.com/directx/ 下載 DirectX,(文件很大,但是可以只下載部分)。如果不能正常工作,考慮一下 HighGUI 利用 VFW 或 MIL 來(lái)?yè)渥揭曨l序列。
            2. 帶樣例安裝 (TOGETHER WITH SAMPLES.)
            3. 打開(kāi)項(xiàng)目 <DirectXSDKInstallFolder>\samples\C++\DirectShow\BaseClasses\baseclasses.{dsw|sln}. 如果沒(méi)有這個(gè)文件,要么是你沒(méi)有下載樣例,要么是路徑不對(duì)。
            4. 編譯建立 Release 和 Debug 版本
            5. 將產(chǎn)生的庫(kù) (在 DirectX 9.x 中,分別叫 strmbase.lib 和 strmbasd.lib) 拷貝到目錄 <DirectXSDKInstallFolder>\lib 下。
            6. 在 Developer Studio 添加路徑:

              <DirectXSDKInstallFolder>\include
              <DirectXSDKInstallFolder>\samples\C++\DirectShow\BaseClasses

              到 includes' 搜索路徑中 (在 Tools->Options->Directories->Include files in case of Developer Studio 6.0)

              添加 <DirectXSDKInstallFolder>\lib 到庫(kù)搜索路徑中 (在 Tools->Options->Directories->Library files in case of Developer Studio 6.0)

              注意: 將上面增加的東東添加到最頂端,否則還會(huì)出現(xiàn)編譯或鏈接錯(cuò)誤。因?yàn)?Developer Studio 6.0 包含了一些老版本的 DirectX 頭文件和庫(kù)文件,它們與新版本有沖突。

                 三. 進(jìn)行靜態(tài)庫(kù)制作

             

                 1. 在C:\Program Files\OpenCV\_make中建立一個(gè)靜態(tài)庫(kù)工程(現(xiàn)在以highguil.lib為例,因?yàn)檫@個(gè)靜態(tài)庫(kù)容易出現(xiàn)問(wèn)題)

                 2. 把C:\Program Files\OpenCV\otherlibs\highgui中的文件復(fù)制到創(chuàng)建的highguil文件下。在highuil工程中添加如下文件,這里有個(gè)關(guān)鍵的地方。不要把highguil下的所有文件都添加到工程中(這點(diǎn)很重要),里面的一些文件在編譯中會(huì)因?yàn)檎也坏筋^文件而失敗。如cvcap_xine.cpp就會(huì)缺少xine.h而報(bào)錯(cuò)等。經(jīng)過(guò)筆者的反復(fù)測(cè)試,得到如下幾個(gè)需要添加到工程的文件:


             3. 添加完工程文件后就得進(jìn)行設(shè)置了(這里調(diào)到release版本,debug版本類似)

                  (1)設(shè)置->c/c++->Code Generation 中的Use run-time library中 選擇Multithreaded DLL;

                  (2)設(shè)置->c/c++->預(yù)處理器中的預(yù)處理器定義中添加:,CVAPI_EXPORTS 附加包含路徑中加:
            ..\..\otherlibs\highgui

                  (3)設(shè)置->c/c++->Library中輸出文件名添加:..\..\lib\highguiL.lib

                  4. 進(jìn)行編譯,這樣highguil.lib就做成了。同樣的道理可以做成cvl.lib, cvcaml.lib,cvauxl.lib, cvcorel.lib 這樣對(duì)于的靜態(tài)鏈接庫(kù)就完成了!

                四. 獨(dú)立程序的運(yùn)行。對(duì)獨(dú)立程序設(shè)置下環(huán)境如下:

                1. 設(shè)置->常規(guī)->Microsoft基礎(chǔ)類(M):使用MFC作為靜態(tài)鏈接庫(kù)
                2. 設(shè)置->c/c++->Code Generation 中的Use run-time library中 選擇Multithreaded DLL
                3. 設(shè)置->c/c++->預(yù)處理器中的預(yù)處理器定義中添加:,CVAPI_EXPORTS附加包含路徑中加:
            C:\Program Files\OpenCV\cxcore\include,C:\Program Files\OpenCV\cvaux\include,C:\Program Files\OpenCV\cv\include,C:\Program Files\OpenCV\otherlibs\highgui
                4. 設(shè)置->連接中的對(duì)象/庫(kù)模塊加入:
            kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib cxcorel.lib cvl.lib highguil.lib cvcamL.lib

                5. 編譯運(yùn)行。這樣你的程序就可以脫離OPENCV環(huán)境而獨(dú)立運(yùn)行了。

                 http://blog.sina.com.cn/s/blog_52996aea0100amtj.html
            posted on 2009-12-13 14:52 deercoder 閱讀(4083) 評(píng)論(0)  編輯 收藏 引用 所屬分類: OpenCV / OpenGL
            青草影院天堂男人久久| 无码人妻久久一区二区三区免费丨 | 狠狠狠色丁香婷婷综合久久五月| 亚洲国产精品无码久久SM| 国产精品无码久久久久久| 国产精品免费久久久久影院| 日日狠狠久久偷偷色综合0| 亚洲综合日韩久久成人AV| 久久99国产精品久久99果冻传媒| 精品久久久久久久久久中文字幕| 亚洲欧洲日产国码无码久久99| 久久精品国产精品国产精品污| 亚洲国产成人久久一区WWW| 国产精品99久久精品| 亚洲综合熟女久久久30p| 久久久久久久久久免免费精品| 国内精品人妻无码久久久影院| 色综合合久久天天给综看| 狠狠色综合网站久久久久久久| 久久精品无码专区免费青青| 亚洲国产精品一区二区三区久久| 青青热久久综合网伊人| 狠狠色婷婷久久一区二区三区| 亚洲精品无码久久久久sm| 亚州日韩精品专区久久久| 久久精品国产福利国产琪琪| 久久99精品国产麻豆宅宅| 国产成人精品久久免费动漫| 亚洲AV日韩精品久久久久久久| 久久久这里有精品| 久久影院午夜理论片无码| 伊人久久大香线焦综合四虎| 久久综合九色综合97_久久久| 国产精品美女久久久久| 精品999久久久久久中文字幕| 欧美午夜精品久久久久免费视| 无码国产69精品久久久久网站| 亚洲午夜无码久久久久| 影音先锋女人AV鲁色资源网久久| 久久久久se色偷偷亚洲精品av| 久久久久亚洲AV无码专区首JN|