当尝试使用 opencv 2.3.1 作为第三个库编译一个简单的 c++ test.cpp 代码时,我收到以下错误消息:
架构 x86_64 的未定义符号:
“_cvLoadImage”,引用自: test.cpp.o 中的 _main ld:未找到架构 x86_64 的符号
有关信息,我正在使用 CMake 进行链接,以及从 Xcode 4.2 获得的 gcc 4.2.1 i686-apple-darwin11。OpenCV 已使用 CMake 安装:
ccmake ../源代码请注意,在尝试编译 SoQt (coin3D) 时,在命令 ./configure & sudo make 之后,我收到了类似的消息:
. . .
“QWidget 的 typeinfo”,引用自:SoQtThumbWheelin SoQtThumbWheel.o 的 typeinfo “QWidget::staticMetaObject”,引用自:SoQtThumbWheel.o 中的 SoQtThumbWheel::staticMetaObject 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 位(?)编译。我发现了一个有趣的链接。但我想知道如何将其应用于 CMake。
请问有什么帮助吗?
谢谢。