opencv-3.1.0在Ubuntu系统上使用g++编译时出现“/usr/bin/ld: cannot find -lippicv ” 错误及其解决办法
最近下载并成功安装opencv-3.1.0之后,想自己使用g++编译一下例程,结果出现报错提示 ,查了一些网站之后,没有得到解决,最后结合各方说法,得出如下解决方法(亲自测试过):
首先进入如下目录:
opencv-3.1.0/3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32a7666804320e/ 然后将里面的压缩包ippicv_linux_20151201.tgz解压出来得到ippicv_lnx,最后进入其lib目录使用如下的命令:
html">$ sudo cp libippicv.a /usr/local/lib
把对应的库文件 libippicv.a文件cp到/usr/local/lib下面就可以了。 注:在lib目录下有两个文件夹:ia32和intel64,分别对应32位的机子和64位的机子,我使用的是64位的,即intel64。//只要出现cannot find -lxxx ,证明是xxx库出问题,首先去库里面找xxx库。
下面是chatGPT告诉我的原因和解决方案,
错误信息 "/usr/bin/ld: cannot find -lippicv" 表示链接器无法找到程序所依赖的 "ippicv" 库。
要解决此问题,需要确保库已安装在系统上,并且链接器能够找到它。
首先,可以通过运行以下命令检查库是否已安装在系统上:
ldconfig -p | grep ippicv
如果库已安装,则应在输出中看到其路径。如果尚未安装,可以使用您的 Linux 发行版的软件包管理器进行安装。
如果库已安装但链接器仍然无法找到它,则需要将库路径添加到链接器的搜索路径中。可以通过将以下行添加到程序的构建配置文件(例如,Makefile 或 CMakeLists.txt)中来实现:
-L/path/to/ippicv/lib -lippicv
将 "/path/to/ippicv" 替换为包含 "ippicv" 库的实际目录的路径。这将指示链接器在该目录中搜索库。