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/ 中编译的库的主要内容,如果未能解决你的问题,请参考以下文章
namedWindow() 导致 opencv 2.3.1 崩溃? (在 XP、C++ 上的 Eclipse+MinGW)
用C++编写的图像处理函数,使用opencv2.3.1a,在Eclipse下编译,但cvFindContours函数报错
C++ opencv 编译错误 - Windows7 64-bit using Eclipse CDT