ubuntu 14.04中的opencv 3.0.0编程

时间:2016-03-08 05:36:44

标签: c++ opencv gcc ubuntu-14.04

这些天我一直困扰着这个问题。我想在VM的ubuntu 14.04终端中用C语言编写opencv-3.0.0程序。虽然,在早期,我已经安装了Qt。现在,为了使我的程序不受Qt库函数的影响,我在/etc/bash.bashrc文件中屏蔽了Qt的路径变量。一个简单的例子如下:

#include <opencv2/opencv.hpp>
using namespace cv;
int main()
{
  Mat img = imread("cornea.jpg");
  imshow("src, img");
  waitKey(0);
  return 0;
}

然后我用gcc-5.3.0使用这个命令编译它:

  

g ++ test.cpp -o test pkg-config opencv --cflags --libs opencv

然后我得到了结果:

  

/ usr / bin / ld:警告:libicui18n.so.54,找不到//home/lmk/Qt5.5.0/5.5/gcc/lib/libQt5Core.so.5,找不到(尝试使用-rpath或-rpath链接)
  / usr / bin / ld:警告:libicuuc.so.54,//home/lmk/Qt5.5.0/5.5/gcc/lib/libQt5Core.so.5所需,找不到(尝试使用-rpath或-rpath-链接)
  / usr / bin / ld:警告:libicudata.so.54,找不到//home/lmk/Qt5.5.0/5.5/gcc/lib/libQt5Core.so.5,找不到(尝试使用-rpath或-rpath-链接)
  //home/lmk/Qt5.5.0/5.5/gcc/lib/libQt5Core.so.5:对“ucal_clone_54”未定义的引用
  //home/lmk/Qt5.5.0/5.5/gcc/lib/libQt5Core.so.5:对“uenum_next_54”未定义的引用
  //home/lmk/Qt5.5.0/5.5/gcc/lib/libQt5Core.so.5:对“u_strToLower_54”未定义的引用
  //home/lmk/Qt5.5.0/5.5/gcc/lib/libQt5Core.so.5:对“ucnv_getStandardName_54”未定义的引用
  //home/lmk/Qt5.5.0/5.5/gcc/lib/libQt5Core.so.5:对“ucol_setAttribute_54”未定义的引用
  //home/lmk/Qt5.5.0/5.5/gcc/lib/libQt5Core.so.5:对“ucal_setMillis_54”未定义的引用
  //home/lmk/Qt5.5.0/5.5/gcc/lib/libQt5Core.so.5:对“ucol_strcoll_54”未定义的引用
  //home/lmk/Qt5.5.0/5.5/gcc/lib/libQt5Core.so.5:对“ucnv_setSubstChars_54”未定义的引用
  //home/lmk/Qt5.5.0/5.5/gcc/lib/libQt5Core.so.5:对“ucal_getTimeZoneDisplayName_54”未定义的引用
  //home/lmk/Qt5.5.0/5.5/gcc/lib/libQt5Core.so.5:对“ucal_openCountryTimeZones_54”未定义的引用
  //home/lmk/Qt5.5.0/5.5/gcc/lib/libQt5Core.so.5:对“ucnv_fromUnicode_54”未定义的引用
  //home/lmk/Qt5.5.0/5.5/gcc/lib/libQt5Core.so.5:对“ucnv_open_54”未定义的引用
  //home/lmk/Qt5.5.0/5.5/gcc/lib/libQt5Core.so.5:对“ucnv_getDefaultName_54”未定义的引用
  //home/lmk/Qt5.5.0/5.5/gcc/lib/libQt5Core.so.5:对“ucol_open_54”未定义的引用
  //home/lmk/Qt5.5.0/5.5/gcc/lib/libQt5Core.so.5:对“ucol_close_54”未定义的引用
  //home/lmk/Qt5.5.0/5.5/gcc/lib/libQt5Core.so.5:对“ucal_inDaylightTime_54”未定义的引用
  //home/lmk/Qt5.5.0/5.5/gcc/lib/libQt5Core.so.5:对“ucol_getSortKey_54”未定义的引用
  //home/lmk/Qt5.5.0/5.5/gcc/lib/libQt5Core.so.5:对“ucnv_getAvailableName_54”未定义的引用
  //home/lmk/Qt5.5.0/5.5/gcc/lib/libQt5Core.so.5:对“ucal_close_54”未定义的引用
  //home/lmk/Qt5.5.0/5.5/gcc/lib/libQt5Core.so.5:对“ucal_get_54”未定义的引用
  //home/lmk/Qt5.5.0/5.5/gcc/lib/libQt5Core.so.5:对“ucal_openTimeZoneIDEnumeration_54”未定义的引用
  //home/lmk/Qt5.5.0/5.5/gcc/lib/libQt5Core.so.5:对“ucal_getDSTSavings_54”未定义的引用
  //home/lmk/Qt5.5.0/5.5/gcc/lib/libQt5Core.so.5:对“ucal_open_54”未定义的引用
  //home/lmk/Qt5.5.0/5.5/gcc/lib/libQt5Core.so.5:对“ucal_openTimeZones_54”未定义的引用
  //home/lmk/Qt5.5.0/5.5/gcc/lib/libQt5Core.so.5:对“ucnv_toUnicode_54”未定义的引用
  //home/lmk/Qt5.5.0/5.5/gcc/lib/libQt5Core.so.5:对“u_strToUpper_54”未定义的引用
  //home/lmk/Qt5.5.0/5.5/gcc/lib/libQt5Core.so.5:对“u_errorName_54”未定义的引用
  //home/lmk/Qt5.5.0/5.5/gcc/lib/libQt5Core.so.5:对“ucnv_close_54”未定义的引用
  //home/lmk/Qt5.5.0/5.5/gcc/lib/libQt5Core.so.5:对“uenum_close_54”未定义的引用
  //home/lmk/Qt5.5.0/5.5/gcc/lib/libQt5Core.so.5:对“ucnv_countAvailable_54”未定义的引用
  //home/lmk/Qt5.5.0/5.5/gcc/lib/libQt5Core.so.5:对“ucnv_getMaxCharSize_54”未定义的引用
  //home/lmk/Qt5.5.0/5.5/gcc/lib/libQt5Core.so.5:对“ucnv_getAlias_54”未定义的引用
  //home/lmk/Qt5.5.0/5.5/gcc/lib/libQt5Core.so.5:对“ucal_getDefaultTimeZone_54”未定义的引用
  //home/lmk/Qt5.5.0/5.5/gcc/lib/libQt5Core.so.5:对“ucnv_compareNames_54”未定义的引用
  collect2:错误:ld返回1退出状态

命令行pkg-config opencv --cflags --libs opencv中的反引号是不可见的。我现在还没有理由。

为什么这个错误与Qt有关。你能帮我解决一下吗?

0 个答案:

没有答案