是什么导致g ++产生错误:“ld.exe无法找到-lopencv_world310”?

时间:2016-11-17 17:53:35

标签: windows opencv gcc g++ mingw-w64

我正在尝试使用由几个源文件组成的g ++构建应用程序,并且还使用OpenCV 3.1.0。

CMD命令是:

g++ -o home_surveillance -static -std=c++11 -m64 -IC:\Tools\OpenCV\opencv\build\include -LC:\Tools\OpenCV\opencv\build\x64\vc14\lib -lopencv_world310 configuration_manager.cpp events.cpp image_processor.cpp main.cpp response_module.cpp scheduler.cpp

产生的错误是:

C:/Program Files/mingw-w64/x86_64-6.2.0-posix-seh-rt_v5-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/6.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lopencv_world310
collect2.exe: error: ld returned 1 exit status

我一直在尝试各种各样的事情,并在几天内寻找答案。我应该注意应用程序在Visual Studio 2015中正确构建。我尝试使用带有-c选项的g ++编译源文件,它们似乎都可以正常编译。只是链接阶段产生错误。

我尝试过的事情:

  1. 几乎所有指定命令的组合。 (修改选项的顺序,-lopencv_world310.a,-lopencv_world310.lib,-lopencv_world310,-l“full_path”+“opencv_world310”等。)

  2. 检查所有路径和文件名是否正确。

  3. 重新安装mingw以确保我使用的是mingw-w64,因为这是一个64位应用程序。

  4. 以管理员身份运行CMD可能CMD无法访问使用-L选项指定的路径。

  5. 谷歌搜索并阅读我能找到的每一篇文章。 (大多数关于“ld.exe找不到”library_name“的帖子都是某人使用”library_name“.a或”library_name“.lib作为-l选项的输入的结果。

  6. 阅读有关使用GCC / g ++的mingw文档,以确保我没有遗漏任何明显的内容。

  7. 向Bjarne Stroustrup祈祷。

  8. 涉及奔腾2的仪式牺牲。

0 个答案:

没有答案