【发布时间】:2012-05-30 07:40:37
【问题描述】:
当尝试使用 opencv 2.3.1 作为第三个编译简单的 c++ test.cpp 代码时 库,我收到以下错误消息:
架构 x86_64 的未定义符号:
“_cvLoadImage”,引用自: test.cpp.o 中的 _main ld:未找到架构 x86_64 的符号
有关信息,我正在使用 CMake 进行链接,以及 gcc 4.2.1 i686-apple-darwin11 从 Xcode 4.2 获得。 OpenCV 已使用 CMake 安装:
ccmake ../源代码请注意,我在尝试编译 SoQt 时收到了类似的消息 (coin3D),在命令 ./configure & sudo make 之后:
。 . .
“QWidget 的类型信息”,引用自: SoQtThumbWheel 的类型信息 SoQtThumbWheel.o “QWidget::staticMetaObject”,引用自: SoQtThumbWheel::staticMetaObject 在 SoQtThumbWheel.o ld:未找到架构 x86_64 的符号 collect2: ld 返回 1 个退出状态
主工程的CMakeLists.txt为:
cmake_minimum_required(VERSION 2.8)
PROJECT(TOTO )
FIND_PACKAGE(OpenCV)
INCLUDE_DIRECTORIES(${TOTO_SOURCE_DIR}/src/control)
SET(ALL_LIB_RAF ${OPENCV_LIBRARIES}
Hello
)
# FILEs to consider
ADD_SUBDIRECTORY(main)
ADD_SUBDIRECTORY( src )
而 test.cpp 的 CMakeLists.txt 是:
ADD_EXECUTABLE(helloWorld test)
TARGET_LINK_LIBRARIES(helloWorld ${ALL_LIB_RAF} )
也许问题在于 OpenCV 需要以 64 位 (?) 编译。我发现了一个有趣的link。但我想知道如何将其应用于 CMake。
有什么帮助吗?
谢谢。【问题讨论】:
标签: c++ macos compilation linker cmake