gpt4 book ai didi

c++ - OpenCV 3.1 升级导致 Linux 上的链接器错误

转载 作者:太空狗 更新时间:2023-10-29 12:01:12 26 4
gpt4 key购买 nike

我最近通过关注 this guide 从 OpenCV 2.4.11 升级到 OpenCV 3.1 .这个 sudo make install 似乎已经成功运行,当我运行 pkg-config --modversion opencv 时,我得到了合适的版本 (3.1.0)。

但由于某些原因,我现在遇到链接器错误,连简单的程序都无法编译,例如:

#include <opencv2/opencv.hpp>

using namespace cv;

int main(int argc, char* argv[])
{
Mat im1 = imread(argv[1]);
return 0;
}

返回错误:

main.cpp:-1: error: undefined reference to cv::imread(cv::String const&, int)

main.cpp:-1: error: undefined reference to `cv::String::allocate(unsigned long)'

main.cpp:-1: error: undefined reference to `cv::String::deallocate()'

:-1: error: collect2: error: ld returned 1 exit status

会不会是和之前的安装有冲突?在我开始手动删除/usr/local/[lib |包括 | bin],我想我会先在这里问。有什么建议吗?

最佳答案

您的链接器路径可能有误。确保你想要的 opencv 是链接器路径上的第一个,否则它可能链接到错误的。删除 opencv2 可能会解决问题......考虑在未来使用包管理器,这样你就不会一直面对这样的困惑。

关于c++ - OpenCV 3.1 升级导致 Linux 上的链接器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35807441/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com