2013-03-21 30 views
3

我想從git存儲庫生成openCV版本2.4.9。我按照說明運行cmake-gui來構建一個visual studio解決方案。然後,我在relase和debug模式下構建了VS studio解決方案,然後運行安裝構建。建立與VS 2012 Opencv 2.4.9,安裝生成不正確的頭文件

安裝構建將所有編譯的庫與include文件夾一起放入安裝文件夾中。

問題是包含文件夾是完全錯誤的,並且缺少一些文件。當我將包含文件夾路徑添加到HelloWorld項目中時,找不到任何opencv方法類等。

它就好像cmake構建過程已經以某種方式損壞並且未正確準備包含文件夾與所需的頭文件。

我已經嘗試了VS 2010和VS 2012 cmake配置,並得到了相同的結果。一切都編譯好,然而安裝目錄中的頭文件不正確。

從預先構建的windows安裝類的工作複製頭文件,我很困惑爲什麼構建過程不會導致類似的頭文件的文件夾結構。

+0

+1斑點嘛。 – karlphillip 2013-03-21 15:32:16

回答

2

我只是更新這篇文章,以保持它與最新的git版本的opencv保持同步。

在當前版本中,該bug仍然存在,現在位於cmake/OpenCVModule.cmake的@行538處。所提出的解決辦法是更換實際線路538:由

if(NOT hdr2 MATCHES "opencv2/${the_module}/private.*" AND hdr2 MATCHES "^(opencv2/?.*)/[^/]+.h(..)?$") 

非常感謝這個補丁救了我一headhake的author

if(hdr2 MATCHES "^(opencv2/.*)[^/]+.h(..)?$" AND NOT hdr2 MATCHES "opencv2/${the_module}/private.*") 

...