0

谁能帮我编译 Haartraining?我需要使用 createsamples 实用程序。我正在运行 OSX Lion 和 OpenCV 2.4。我尝试使用这个makefile,但它给了我一些链接器错误http://code.google.com/p/tutorial-haartraining/source/browse/trunk/HaarTraining/src/Makefile?r=76

4

2 回答 2

2

使用 cmake 2.8.10 和 xcode 4.6.1 在 mac os x lion 10.7.5 上编译和运行 c++ opencv 2.4.4 的步骤

拥有合适的工具

  1. 从http://sourceforge.net/projects/opencvlibrary/files/下载 opencv-unix并在任何地方解压
  2. 从http://www.cmake.org/cmake/resources/software.html下载 cmake .dmg并安装
  3. 我假设您在 os x lion 上安装了 xcode 4.6,其中包括 ios sdk 6.1
  4. 转到 xcode 首选项以下载并安装命令行工具,以便您拥有 g++ 等。

使用cmake编译opencv

  1. 转到提取的opencv文件夹
  2. 创建构建目录

    mkdir build
    cd build
    cmake -D WITH_TBB=OFF -D BUILD_NEW_PYTHON_SUPPORT=OFF -D BUILD_FAT_JAVA_LIB=OFF -D BUILD_TBB=OFF -D BUILD_EXAMPLES=ON -D CMAKE_CXX_COMPILER=g++ CMAKE_CC_COMPILER=gcc -D CMAKE_OSX_ARCHITECTURES=x86_64 -D BUILD_opencv_java=OFF -G "Unix Makefiles" ..
    make -j8
    sudo make install
    
  3. 从构建文件夹中,转到 bin/ 并运行其中一项测试

    ./opencv_test_stitching
    

创建自己的 c++ opencv xcode 项目

  1. 启动 xcode 并创建一个新的 xcode 项目
  2. os x下项目类型选择Command Line Tool
  3. 打开项目的构建设置
  4. 在架构下,将架构设置为 64 位英特尔。还将有效架构设置为 x86_64
  5. 在 Build Options 下,将 Compiler for C/C++ 设置为 Default Compiler
  6. 在 Search Paths 下,将 Header Search Paths 设置为 /usr/local/include
  7. 同样在搜索路径下,将库搜索路径设置为 /usr/local/lib
  8. 在 Apple LLVM compiler 4.2 - Language set C++ Standard Library to libstd++

将编译好的 opencv 库添加到你的项目中

  1. 转到您所在的“构建设置”选项卡旁边的“构建阶段”选项卡
  2. 在 Link Binary With Libraries 中,单击 + 号并选择 Add Other
  3. 点击键盘上的前斜杠 / 并输入 /usr/local/lib
  4. 点击回车并选择要在项目中使用的库
  5. 确保您始终选择 libopencv_core.2.4.4.dylib
  6. 点击回车,您将在项目下看到选定的 dylib

写一些代码

  1. 首先让我们组织文件,右键单击您的项目蓝图图标并选择新建组
  2. 将新组命名为 opencv 或其他
  3. 将 dylib 拖放到该组中
  4. 打开 main.cpp
  5. 从 opencv 附带的任何示例测试中复制代码并将其粘贴到此处
  6. 确保添加了所有必需的dylib,例如,如果您将opencv_test_stitching.cpp代码复制到main.cpp中,则需要在前面的步骤中添加以下库

    • libopencv_core.2.4.4.dylib
    • libopencv_highgui.2.4.4.dylib
    • libopencv_stitching.2.4.4.dylib

干杯。

于 2013-03-27T15:22:19.637 回答
1

在 Lion 下编译非常简单。

  1. 从这里下载源压缩包
  2. 解压下载的包
  3. 在某个地方创建构建目录,例如在您有未压缩源的同一文件夹中
  4. 从这个新创建的文件夹问题cmake -i ../uncompressed_opencv_folder_name
  5. 根据您的需要配置 OpenCV,不要忘记将 OpenCV 库设为静态(至少它对我不起作用)

    Variable Name: BUILD_SHARED_LIBS Description: Build shared libraries (.dll/.so) instead of static ones (.lib/.a) Current Value: OFF

  6. 运行 make -j4

  7. 安装编译的二进制文件make install
  8. 在 OpenCV 安装目录中,您将在bin子文件夹中找到所需的文件
于 2012-05-16T10:13:42.450 回答