使用OpenCV库的FLANN的时候出现编译错误

在opencv例程上使用了FLANN的时候,出现了

报了一个——undefined reference to `_gettimeofday

此外没有其他错误,这个错误只要添加声明变量

FlannBasedMatcher fbmatcher;   

就会出现,请问openCV库有函数相关的例程吗,在这个历程上包含了对应的头文件,除此之外没做修改,不知道为什么会报这种错误

  • _gettimeofday在当前示例中并没有被添加进去,解决方法如下:

    找到syscalls.c文件添加如下红色内容(也可以从smart configuration自动生成的syscalls.c中找到这个函数并复制到你的工程

    //R_OS_ENABLE_VIRTUAL_CONSOLE 的值是0,#define R_OS_ENABLE_VIRTUAL_CONSOLE 0

    。。。

    #include <time.h>

    #include <sys/time.h>

    #include <sys/times.h>

    。。。

    int     _gettimeofday _PARAMS ((struct timeval *, void *));

    。。。

    int

    _gettimeofday (struct timeval * tp, void * tzvp)

    {

     struct timezone *tzp = tzvp;

     if (tp)

       {

       /* Ask the host for the seconds since the Unix epoch.  */

    #if R_OS_ENABLE_VIRTUAL_CONSOLE

         tp->tv_sec = do_AngelSWI (AngelSWI_Reason_Time,NULL);

    #endif

         tp->tv_usec = 0;

       }

     /* Return fixed data for the timezone.  */

     if (tzp)

       {

         tzp->tz_minuteswest = 0;

         tzp->tz_dsttime = 0;

       }

     return 0;

    }