首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >没有找到用于体系结构x86_64 os x狮子的符号

没有找到用于体系结构x86_64 os x狮子的符号
EN

Stack Overflow用户
提问于 2012-05-23 17:57:40
回答 2查看 20.5K关注 0票数 4

当试图以opencv 2.3.1作为第三个库编译一个简单的c++ test.cpp代码时,我会得到以下错误消息:

架构x86_64的未定义符号: "_cvLoadImage",引用自: _main中的test.cpp.o ld:在体系结构x86_64中找不到符号

有关信息,am使用CMake链接,gcc 4.2.1i686-apple-darwin11 11从Xcode 4.2获得。OpenCV是使用CMake安装的:

ccmake ../源代码

请注意,在尝试编译SoQt (coin3D)时,在命令之后,我会收到类似的消息。/configure& sudo:

。。。 “QWidget的类型信息”,引用于: SoQtThumbWheelin SoQtThumbWheel.o "QWidget::staticMetaObject",引用于: SoQtThumbWheel.o中的staticMetaObject ld:在体系结构x86_64中找不到符号 collect2: ld返回1个退出状态

主要项目的CMakeLists.txt是:

代码语言:javascript
复制
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 )

而CMakeLists.txt for test.cpp是:

代码语言:javascript
复制
ADD_EXECUTABLE(helloWorld test)
TARGET_LINK_LIBRARIES(helloWorld ${ALL_LIB_RAF} )

也许问题在于OpenCV需要用64位(?)编译。我发现了一个有趣的链接。但我想知道如何将这一点应用于CMake。

有什么帮助吗?

谢谢。

EN

回答 2

Stack Overflow用户

发布于 2012-05-23 18:44:48

这看起来好像您没有正确地链接到库。在处理此问题的堆栈溢出中至少有两个类似的问题,即这一个就是那个。你看过他们了吗?此外,请提供更多关于你是如何编译的信息。您能否编译一个简单的OpenCV测试程序,比如这个(取自他们的维基):

代码语言:javascript
复制
#include <cv.h>
#include <highgui.h>

int main ( int argc, char **argv )
{
  cvNamedWindow( "My Window", 1 );
  IplImage *img = cvCreateImage( cvSize( 640, 480 ), IPL_DEPTH_8U, 1 );
  CvFont font;
  double hScale = 1.0;
  double vScale = 1.0;
  int lineWidth = 1;
  cvInitFont( &font, CV_FONT_HERSHEY_SIMPLEX | CV_FONT_ITALIC,
              hScale, vScale, 0, lineWidth );
  cvPutText( img, "Hello World!", cvPoint( 200, 400 ), &font,
             cvScalar( 255, 255, 0 ) );
  cvShowImage( "My Window", img );
  cvWaitKey();
  return 0;
}
票数 4
EN

Stack Overflow用户

发布于 2016-03-17 14:21:00

当我使用cmake编译时,意外地将单独的target_link_libraries()组合到我的CMakeLists.txt文件中时,就产生了这个错误。

具体来说,我采取了正确的:

代码语言:javascript
复制
target_link_libraries(
GradientComputer
)

target_link_libraries(
Overlap
PointAreaComputer
)

并将它们组合在一起创建不正确的:

代码语言:javascript
复制
target_link_libraries(
GradientComputer
Overlap
PointAreaComputer
)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10725339

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档