该错误通常是因为链接器无法找到OpenCV库文件而导致的。要解决该错误,可以按照以下步骤操作:

  • 确认OpenCV库已经正确安装:在终端窗口中输入以下命令,确认OpenCV库已经正确安装:
pkg-config --modversion opencv4

如果命令输出了OpenCV库的版本信息,则表示OpenCV库已经正确安装。

  • 确认编译命令中已经包含了OpenCV库文件:在编译命令中,需要包含OpenCV库的链接库路径和需要链接的OpenCV库文件名。例如,可以使用以下命令进行编译链接:
g++ -o test test.cpp $(pkg-config --cflags --libs opencv4)

其中,test.cpp是需要编译的源代码文件,$(pkg-config --cflags --libs opencv4)用于获取OpenCV库的链接库路径和需要链接的OpenCV库文件名。

  • 确认编译命令中的顺序和参数正确:在编译命令中,需要保证OpenCV库的链接库路径和需要链接的OpenCV库文件名出现在源代码文件之后。例如,正确的编译命令应该是:
g++ -o test test.cpp $(pkg-config --cflags --libs opencv4)

而不是:

g++ $(pkg-config --cflags --libs opencv4) -o test test.cpp
  • 确认OpenCV库文件的路径正确:如果OpenCV库文件的路径不正确,链接器就无法找到库文件。可以使用以下命令查询OpenCV库文件的路径:
pkg-config --variable=libdir opencv4

该命令会输出OpenCV库文件的路径。如果输出的路径不正确,可以在编译命令中手动指定OpenCV库文件的路径,例如:

g++ -o test test.cpp -I/usr/local/include/opencv4 -L/usr/local/lib64 -lopencv_core -lopencv_highgui -lopencv_imgproc

其中,/usr/local/lib64是OpenCV库文件的路径。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐