繁体   English   中英

在Ubuntu上链接OpenCV 2.3.1

[英]Linking against OpenCV 2.3.1 on Ubuntu

我是OpenCV的新手,我遇到了连接问题。

我正在使用Ubuntu 11.10,根据指南安装了OpenCV 2.3.1:

我正在使用它构建许多小应用程序,它看起来很好。 通常,我正在使用pkg-config --libs --cflags opencv

现在,我正在尝试构建一些其他人编写的框架,它编译没有任何问题,但我无法链接它:有一长串的“未解析的引用...”(数以千计)。 找不到与opencv_core相关的所有符号。

我试图在没有预编译头支持的情况下重新编译OpenCV,没有帮助。 当然。 :(

test_opencv_core应用程序运行正常,但opencv_rand失败。 我认为它通常说opencv_core是正确的,但是当我需要它时它仍然不起作用......

你可以试着给我一些提示吗? 我在那里迷路了。

大卫先生,谢谢你

更新:解决了。

gcc 4.6.1要求在修改共享库之前,libs和source将在命令行中显示。 为什么? 不知道。 这个愚蠢的错误花了24小时:(

更新:可以理解。 从ld手册页:

链接器将仅在命令行上指定的位置搜索一次存档。 如果存档定义了在命令行上存档之前出现的某个对象中未定义的符号,则链接器将包含存档中的相应文件。 但是,稍后在命令行中出现的对象中的未定义符号将不会导致链接器再次搜索存档。

请参阅 - (用于强制链接器多次搜索存档的方法的选项)。

而已。

gcc 4.6.1要求libs和source将在到共享库的路径之前出现在命令行中。 我不知道为什么。

更新:可以理解。 从ld手册页:

链接器将仅在命令行上指定的位置搜索一次存档。 如果存档定义了在命令行上存档之前出现的某个对象中未定义的符号,则链接器将包含存档中的相应文件。 但是,稍后在命令行中出现的对象中的未定义符号将不会导致链接器再次搜索存档。

请参阅 - (用于强制链接器多次搜索存档的方法的选项)。

而已。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM