OpenCV1.0版本中cvaux.lib无法找到的问题

来源:互联网 发布:地球联合理事会 知乎 编辑:程序博客网 时间:2024/05/21 17:51

这两天在看《opencv教程-基础篇》,为了适应书上的开发环境,虽然cv已经出了2.1版本了,但是我还是决定在1.0的平台上运行。

  在调试的时候,发现有些例子不能编译通过,提示是:找不到cvaux.lib的文件。但是设置的时候已经添加上去了,后来在/lib的文件夹中确实没有搜到这个库文件。

  一开始,群里面有人说可以把这个库文件的链接删除掉,这个库里面是一些实验性的函数,用途不多。于是采纳中,试了一下,果然可以编译通过。

  可是今天编译另外一个程序这个问题再次出现了,提示:could not find the file "cvcaux.lib".遂再次删除相应链接,结果发现问题更多,原来这个程序使用了大量cvaux.lib库中的函数,尤其是一些跟踪的算法。

  再次上网找解决办法。于是找到了一些眉目了。

1.cvaux.h这个文件中代码有问题:

    #define CV_BG_STAT_MODEL_FIELDS()                                                   /
    int             type; /*type of BG model*/                                      /
    CvReleaseBGStatModel release;                                                   /
    CvUpdateBGStatModel update;                                                     /
    IplImage*       background;   /*8UC3 reference background image*/               /
    IplImage*       foreground;   /*8UC1 foreground image*/                         /
    IplImage**      layers;       /*8UC3 reference background image, can be null */ /
    int             layer_count;  /* can be zero */                                 /
    CvMemStorage*   storage;      /*storage for 揻oreground_regions? */              /
    CvSeq*          foreground_regions/*foreground object contours*/

问题就在红色添加的符号处。找到以后,保存好,再重新在VC++6.0下编译opencv.dsw.这次cvaux.lib文件也出来了。不在出现这样的提示:

-------------------Configuration: cvaux - Win32 Release64 Itanium--------------------
Compiling resources...
Compiling...
precomp.cpp
../include/cvaux.h(1142) : error C2143: syntax error : missing ';' before '<class-head>'
../include/cvaux.h(1142) : fatal error C1004: unexpected end of file found
执行 cl.exe 时出错.

 

花了一个下午的事情遇到了一个问题,解决了。收获还是挺大的!

技术层面: 

                1.要仔细分析错误提示信息。

                 2.自己还是要弄明白cvaux.lib的作用。

                3.解决一个问题后,即时写文档,记录下解决的方法。

心理层面:

            1.以后遇到问题,不要慌,不要泄气,一次调通程序的对与自己这样的菜鸟来说还是有些难度的。在这种情况下,就是要肯钻研,坚持下去,直到搞定问题为止。

           

原创粉丝点击