2012-08-02 205 views
2

我使用特定的構建選項(如64位,QT和OpenNI)爲我們的項目編譯OpenCV。我能夠遵循這裏給出的指令:http://opencv.itseez.com/doc/tutorials/introduction/windows_install/windows_install.html使用NSIS創建OpenCV安裝程序

在2-3小時的構建過程結束時,我結束了與\install\build\收集箱,dll和庫在其各自的文件夾。我想將一個.exe安裝程序分發給研究組中的其他成員。但我不能因爲_CPack_Packages/win32/NSIS無處可尋。

注意:要創建安裝程序,您需要安裝NSIS。然後,只需構建 包項目即可將安裝程序構建到 Build/_CPack_Packages/win32/NSIS文件夾中。然後,您可以使用它來 在其他系統上分配OpenCV和您的構建設置。

在cmake-gui屏幕上,我勾選了「Build Package」,我希望它能讓我看到Build/_CPack_Packages/win32/NSIS文件夾。生成過程之後,找不到。

有人可能會給出一個建議,爲什麼我沒有看到這個描述的_CPack_Packages/win32/NSIS文件夾?我可以用 Inno setup代替嗎?如果是這樣,我是否只需打包所有\build\install文件夾並在系統中設置路徑以包含\build\install\bin? 謝謝。

是否安裝NSIS建設項目之前:

+0

*我可以使用Inno設置嗎?* - 我認爲它應該是可能的 - 即使OpenCV似乎有一些InnoSetup ['script sample'](http://code.opencv.org/svn/opencv/tags/ attic/beta3/opencv/utils/opencv.iss) - 首次谷歌命中'InnoSetup OpevCV腳本',但鏈接已死,我不知道如何在他們的存儲庫中搜索,也許你會更成功。但是有人制作了['something'](https://code.ros.org/trac/opencv/browser/trunk/opencv/utils/opencv.iss?rev=27)你可能在尋找什麼(不知道盡管這個版本有多近,但至少可以是啓發式的)。 – TLama 2012-08-03 06:27:14

回答

1

與KISS原則(!保持簡單,愚蠢的)堅持?

INSTRUCTIONS TO BUILD WIN32 PACKAGES WITH CMAKE+CPACK 
------------------------------------------------------ 

- Install NSIS. 
- Generate OpenCV solutions for MSVC using CMake as usual. 
- In cmake-gui: 
    - Mark BUILD_PACKAGE 
    - Mark BUILD_EXAMPLES (If examples are desired to be shipped as binaries...) 
    - Unmark ENABLE_OPENMP, since this feature seems to have some issues yet... 
- Mark INSTALL_*_EXAMPLES 
- Open the OpenCV solution and build ALL in Debug and Release. 
- Build PACKAGE, from the Release configuration. An NSIS installer package will be 
    created with both release and debug LIBs and DLLs. 


Jose Luis Blanco, 2009/JUL/29 

我建議您不要使用Visual Studio來構建,而應該嘗試使用CMake。

http://www.cmake.org/

讓我知道,如果這有助於在所有。

+0

我確實。而且我確實構建了調試和發佈版本,但仍然沒有找到'_CPack_Packages/win32/NSIS'。我很高興再次嘗試。等等...是不是很奇怪,我的PATH沒有'C:\ Program Files(x86)\ NSIS'?我會做更多的測試......謝謝你的回答,我會盡快通知你。 – ikel 2012-08-03 22:08:11

+0

我在Visual Studio中發現了一個名爲'package_source'的包,但是當我用高亮顯示的那個包壓下這個包時,終端給出了顯示: '2>'zip'不被識別爲內部或外部命令,可操作程序或批處理文件。 2> C:\ Program Files(x86)\ MSBuild \ Microsoft.Cpp \ v4.0 \ Microsoft.CppCommon.targets(151,5):錯誤MSB6006:「cmd.exe」退出,代碼爲9009.# – ikel 2012-08-05 09:32:29

+0

已下載的OpenCV並查看了文檔並在doc目錄中找到了packaging.txt文件。我編輯了我的答案以包含它的內容。 – RyanE 2012-08-06 13:54:56