首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Eclipse进行C编程(库之谜)

使用Eclipse进行C编程(库之谜)
EN

Stack Overflow用户
提问于 2009-06-12 13:25:58
回答 2查看 5.5K关注 0票数 1

当我将一个库连接到我的程序时,Eclipse不会生成任何可执行文件,我只得到一个对象文件。当我从我的程序中断开库(删除所有路径和库函数)时,我得到一个可执行文件。

但是,在第一种情况下,我没有得到任何错误。

哪里出了问题?

我的工作环境: Linux、C、Eclipse。

日志:

* Wise_test_C项目配置调试构建*

代码语言:javascript
运行
复制
make all 
Building target: Wise_test_C
Invoking: GCC C Linker
gcc -L"/export/home/pdmazubi3/workspace/WISE_C/Debug" -o"Wise_test_C"  ./src/Wise_test_C.o   -lWISE_C
/export/home/pdmazubi3/workspace/WISE_C/Debug/libWISE_C.so: undefined reference to `cvGetRawData'
/export/home/pdmazubi3/workspace/WISE_C/Debug/libWISE_C.so: undefined reference to `cvPow'
/export/home/pdmazubi3/workspace/WISE_C/Debug/libWISE_C.so: undefined reference to `cvCreateGraphScanner'
/export/home/pdmazubi3/workspace/WISE_C/Debug/libWISE_C.so: undefined reference to `sqrt'
/export/home/pdmazubi3/workspace/WISE_C/Debug/libWISE_C.so: undefined reference to `cvColorToScalar'
/export/home/pdmazubi3/workspace/WISE_C/Debug/libWISE_C.so: undefined reference to `Fuzzy10'
/export/home/pdmazubi3/workspace/WISE_C/Debug/libWISE_C.so: undefined reference to `cvExp'
/export/home/pdmazubi3/workspace/WISE_C/Debug/libWISE_C.so: undefined reference to `cvTransform'
/export/home/pdmazubi3/workspace/WISE_C/Debug/libWISE_C.so: undefined reference to `cvReleaseMat'
/export/home/pdmazubi3/workspace/WISE_C/Debug/libWISE_C.so: undefined reference to `cvAddS'
/export/home/pdmazubi3/workspace/WISE_C/Debug/libWISE_C.so: undefined reference to `cvHoughLines2'
/export/home/pdmazubi3/workspace/WISE_C/Debug/libWISE_C.so: undefined reference to `cvSetAdd'
/export/home/pdmazubi3/workspace/WISE_C/Debug/libWISE_C.so: undefined reference to `cvAvgSdv'
/export/home/pdmazubi3/workspace/WISE_C/Debug/libWISE_C.so: undefined reference to `cvError'
/export/home/pdmazubi3/workspace/WISE_C/Debug/libWISE_C.so: undefined reference to `cvSeqSlice'
/export/home/pdmazubi3/workspace/WISE_C/Debug/libWISE_C.so: undefined reference to `floor'
/export/home/pdmazubi3/workspace/WISE_C/Debug/libWISE_C.so: undefined reference to `cvCircle'
/export/home/pdmazubi3/workspace/WISE_C/Debug/libWISE_C.so: undefined reference to `cvGetCols'
/export/home/pdmazubi3/workspace/WISE_C/Debug/libWISE_C.so: undefined reference to `cvLoadImage'
/export/home/pdmazubi3/workspace/WISE_C/Debug/libWISE_C.so: undefined reference to `cvAlloc'
/export/home/pdmazubi3/workspace/WISE_C/Debug/libWISE_C.so: undefined reference to `cvRead'
/export/home/pdmazubi3/workspace/WISE_C/Debug/libWISE_C.so: undefined reference to `cvFitLine'
/export/home/pdmazubi3/workspace/WISE_C/Debug/libWISE_C.so: undefined reference to `cvUndistort2'
/export/home/pdmazubi3/workspace/WISE_C/Debug/libWISE_C.so: undefined reference to `cvLog'
/export/home/pdmazubi3/workspace/WISE_C/Debug/libWISE_C.so: undefined reference to `cvFree_'
/export/home/pdmazubi3/workspace/WISE_C/Debug/libWISE_C.so: undefined reference to `cvCreateImage'
/export/home/pdmazubi3/workspace/WISE_C/Debug/libWISE_C.so: undefined reference to `cvCalcEMD2'
/export/home/pdmazubi3/workspace/WISE_C/Debug/libWISE_C.so: undefined reference to `cvGetElemType'
/export/home/pdmazubi3/workspace/WISE_C/Debug/libWISE_C.so: undefined reference to `cvPolyLine'
/export/home/pdmazubi3/workspace/WISE_C/Debug/libWISE_C.so: undefined reference to `cvFitEllipse2'
/export/home/pdmazubi3/workspace/WISE_C/Debug/libWISE_C.so: undefined reference to `cvBoundingRect'
/export/home/pdmazubi3/workspace/WISE_C/Debug/libWISE_C.so: undefined reference to `cvPerspectiveTransform'
/export/home/pdmazubi3/workspace/WISE_C/Debug/libWISE_C.so: undefined reference to `cvCalcArrHist'
/export/home/pdmazubi3/workspace/WISE_C/Debug/libWISE_C.so: undefined reference to `cvCalibrateCamera2'
/export/home/pdmazubi3/workspace/WISE_C/Debug/libWISE_C.so: undefined reference to `Fuzzy24'
/export/home/pdmazubi3/workspace/WISE_C/Debug/libWISE_C.so: undefined reference to `cvInvert'
/export/home/pdmazubi3/workspace/WISE_C/Debug/libWISE_C.so: undefined reference to `cvAvg'
/export/home/pdmazubi3/workspace/WISE_C/Debug/libWISE_C.so: undefined reference to `cvSum'
/export/home/pdmazubi3/workspace/WISE_C/Debug/libWISE_C.so: undefined reference to `cvProjectPoints2'
/export/home/pdmazubi3/workspace/WISE_C/Debug/libWISE_C.so: undefined reference to `cvSet'
/export/home/pdmazubi3/workspace/WISE_C/Debug/libWISE_C.so: undefined reference to `cvFindExtrinsicCameraParams2'
/export/home/pdmazubi3/workspace/WISE_C/Debug/libWISE_C.so: undefined reference to `cvRandArr'
/export/home/pdmazubi3/workspace/WISE_C/Debug/libWISE_C.so: undefined reference to `cvReshape'
/export/home/pdmazubi3/workspace/WISE_C/Debug/libWISE_C.so: undefined reference to `cvGetSeqElem'
/export/home/pdmazubi3/workspace/WISE_C/Debug/libWISE_C.so: undefined reference to `cvBoxPoints'
/export/home/pdmazubi3/workspace/WISE_C/Debug/libWISE_C.so: undefined reference to `cvSetImageROI'
/export/home/pdmazubi3/workspace/WISE_C/Debug/libWISE_C.so: undefined reference to `cvMinAreaRect2'
/export/home/pdmazubi3/workspace/WISE_C/Debug/libWISE_C.so: undefined reference to `cvInitSubdivDelaunay2D'
/export/home/pdmazubi3/workspace/WISE_C/Debug/libWISE_C.so: undefined reference to `cvFindFundamentalMat'
/export/home/pdmazubi3/workspace/WISE_C/Debug/libWISE_C.so: undefined reference to `cvSet2D'
/export/home/pdmazubi3/workspace/WISE_C/Debug/libWISE_C.so: undefined reference to `cvCvtColor'
/export/home/pdmazubi3/workspace/WISE_C/Debug/libWISE_C.so: undefined reference to `cvLine'
/export/home/pdmazubi3/workspace/WISE_C/Debug/libWISE_C.so: undefined reference to `cvReleaseGraphScanner'
/export/home/pdmazubi3/workspace/WISE_C/Debug/libWISE_C.so: undefined reference to `cvRodrigues2'
/export/home/pdmazubi3/workspace/WISE_C/Debug/libWISE_C.so: undefined reference to `cvKMeans2'
/export/home/pdmazubi3/workspace/WISE_C/Debug/libWISE_C.so: undefined reference to `cvEllipse'
/export/home/pdmazubi3/workspace/WISE_C/Debug/libWISE_C.so: undefined reference to `cvInitFont'
/export/home/pdmazubi3/workspace/WISE_C/Debug/libWISE_C.so: undefined reference to `cvResetImageROI'
/export/home/pdmazubi3/workspace/WISE_C/Debug/libWISE_C.so: undefined reference to `cvGet2D'
/export/home/pdmazubi3/workspace/WISE_C/Debug/libWISE_C.so: undefined reference to `cvCreateMat'
/export/home/pdmazubi3/workspace/WISE_C/Debug/libWISE_C.so: undefined reference to `cvFindChessboardCorners'
/export/home/pdmazubi3/workspace/WISE_C/Debug/libWISE_C.so: undefined reference to `cvGetFileNodeByName'
/export/home/pdmazubi3/workspace/WISE_C/Debug/libWISE_C.so: undefined reference to `cvSplit'
/export/home/pdmazubi3/workspace/WISE_C/Debug/libWISE_C.so: undefined reference to `cvCartToPolar'
/export/home/pdmazubi3/workspace/WISE_C/Debug/libWISE_C.so: undefined reference to `cvGetRows'
/export/home/pdmazubi3/workspace/WISE_C/Debug/libWISE_C.so: undefined reference to `cvCreateSubdiv2D'
/export/home/pdmazubi3/workspace/WISE_C/Debug/libWISE_C.so: undefined reference to `cvConvexHull2'
collect2: ld returned 1 exit status
make: *** [Wise_test_C] Fehler 1
EN

回答 2

Stack Overflow用户

发布于 2009-06-12 13:29:24

查看日志/构建输出。链接器找不到您想要的库,因此编译在对象生成时停止。

关于以下内容的编辑

代码语言:javascript
运行
复制
collect2: ld returned 1 exit status

链接器出现故障

我猜..。未链接OpenCV

您的程序似乎也使用OpenCV。您需要将可执行文件链接到openCV,以便解析库libWISE_C.so中的符号。可以通过eclipse添加依赖项,也可以手动添加。请记住,您需要包含opencv头文件、通过"-L“包含库路径以及链接库二进制文件。

在Eclipse中,右键单击您的项目并转到Properties。接下来,打开“GCC C++链接器”下的“库”部分。在“库(-l)”面板中,添加一个具有opencv值的条目,然后单击“确定”。

Good LucK

票数 4
EN

Stack Overflow用户

发布于 2009-06-16 05:28:30

看起来libWISE_C.so使用的是OpenCV或类似的库。您必须在链接行上为可执行文件提供另一个库,否则将无法获得成功的链接。

既然您自己构建了libWISE_C.so,那么您应该知道所有未定义的符号应该来自哪个其他库。

您还可以将这个“其他库”添加到libWISE_C.so本身的链接行中,从而使libWISE_C.so客户端不必这么做。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/986631

复制
相关文章

相似问题

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