C/C++单元测试工具Visual Unit 4在线帮助


他编译错误

产品代码本身有语法错误
    新编写的产品代码,或刚修改过的产品代码,如果存在语法错误,会导致测试代码产生编译错误,测试之前,最好先编译产品代码。

main函数冲突
    一个工程只能有一个main函数,测试工程本身有一个main函数,因此,如果被测试代码中含有main函数,会产生冲突。
   
    推荐的解决办法是:在“工具”菜单,选择“设定”,在“功能”页,选中“转定义main函数”,然后Rebuild All。
   
    在极少数情形下,转定义main函数可能产生编译错误,这时,要取消转定义,并用以下办法之一不测试main函数:
    a.在 工程属性->测试目标,将含有main函数的文件设为X。
    b.在产品代码的main函数前后加上编译条件,语法如下:
    #ifndef _VUNIT
    int main()
    {
        ...
    }
    #endif  

extern "C" 产生的编译错误
    编译错误如:error C2059: syntax error : 'string'
    原因:extern "C"通常用于兼容C++,应和__cplusplus配合使用。
    解决:在产品代码中,将extern "C"{改为:
    #ifdef __cplusplus
    extern "C" {
    #endif

缺少/MD编译开关
    编译错误如:fatal error C1189: #error : Please use the /MD switch for _AFXDLL builds
    解决:打开工程属性,切换到“编译”页,在命令行中添加:/MD,请注意,/前面需有一个空格。

其他编译错误
    若产品代码可以通过编译,但测试代码产生编译错误,如果问题无法解决或认为可能属于本软件缺陷,请与技术支持联系