OpenCV - 如何使用 Eclipse C++ IDE 将 /home 中编译的 opencv 库优先于 /usr/lib/ 中编译的库

Posted

技术标签:

【中文标题】OpenCV - 如何使用 Eclipse C++ IDE 将 /home 中编译的 opencv 库优先于 /usr/lib/ 中编译的库【英文标题】:OpenCV - how to prioritize opencv libraries compiled in /home over those from /usr/lib/ using Eclipse C++ IDE 【发布时间】:2014-03-20 14:25:35 【问题描述】:

我想使用 C++ 中的 Eclipse IDE 在 Linux 中设置 OpenCV 项目。

首先,我使用我的/home/ 目录中的openCV 网站上提到的instructions 编译了我自己的OpenCV 版本。在此之后,我想在their instructions 之后使用 Eclipse IDE 设置一个基本的显示图像项目。

但是,我使用的是 OpenSUSE 12.2,并且我在 /usr/ 中有一个较旧的预安装 OpenCV 版本,当我构建项目并使用应用于生成的二进制文件的 ldd 命令检查 OpenCV 的链接库时,它指出来自/usr/lib64/ 的库文件。

为了从我的家庭库中指出已编译的库文件,我必须从 .bashrc 文件中修改 LD_LIBRARY_PATH 环境变量:

export LD_LIBRARY_PATH=/home/user/OpenCV/release/lib/:$LD_LIBRARY_PATH

在此之后,我使用重新初始化的 .bashrc 文件从终端启动 Eclipse IDE。 在这一步之后,它起作用了。但是,有没有办法将 Eclipse IDE 中的 /home/ 路径优先于 /usr/ 路径而不是使用 ./bashrc 技巧?

【问题讨论】:

【参考方案1】:

在设置 LD_PRELOAD 环境变量后尝试运行你的程序,指向你想要首先加载的库。

您可以准备一个脚本来启动您的程序:

export LD_PRELOAD=./your_library.so
./your_program

【讨论】:

以上是关于OpenCV - 如何使用 Eclipse C++ IDE 将 /home 中编译的 opencv 库优先于 /usr/lib/ 中编译的库的主要内容,如果未能解决你的问题,请参考以下文章

如何在Eclipse下配置opencv

namedWindow() 导致 opencv 2.3.1 崩溃? (在 XP、C++ 上的 Eclipse+MinGW)

用C++编写的图像处理函数,使用opencv2.3.1a,在Eclipse下编译,但cvFindContours函数报错

C++ opencv 编译错误 - Windows7 64-bit using Eclipse CDT

无法运行程序“g++”:启动失败 - Eclipse C++

在eclipse中找不到Opencv库文件