• vc++6.0各种报错合集(附:VC++6.0调出打印窗口的方法)


    背景:

      由于VC++6.0对于现在的我来说,只是一个工具,暂时没有太多的时间分配到这块去深究它,由于不明其原理,因此也只是在此把错误积累下来,以备下次相同错误出现时能快速排除,节省时间。

    正文

    一、出现警告“warning c4273:inconsistent dll linkage”

      在报错的XX.h头文件中可以看到如下定义

    #ifdef XXX_DLL_EXPORTS
    #define XXX_API extern"C" __declspec(dllexport)
    #else
    #define XXX_API extern"C" __declspec(dllimport)
    #endif

      解决方案:
      点击菜单栏,Poject --> Setting --> C/C++ --> General --> Preprocessor definitions中加上XXX_DLL_EXPORTS
      这样警告就消除了。

    二、出现警告“warning C4805: '==' : unsafe mix of type 'int' and type 'const bool' in operation”

      只需要将"return true"改成"return TRUE"就OK了。“false”同理。

    三、出现报错“error LNK2001: unresolved external symbol "函数名称"”

      出现这种错误,很大可能是DLL的“.h”文件内函数声明与“.cpp”文件内的函数不一致;

      我就出现了两种这种情况,

      第一种是在函数实现时多加了两个参数,声明时却未加,可是编译却能通过(WTF!?)。

      第二种是在函数声明的时候,没有加导入导出的标志 XXX_API,也能编译通过!放到APP却会报错。

    附:VC6.0调出打印窗口的方法

      点击Project --> Setting --> Post-build Setup --> Post-build command(s):

      加入editbin /SUBSYSTEM:CONSOLE $(OUTDIR)XXX.exe(可执行文件文件名),最后点击“Rebuild all”进行重新编译即可。

    记录地点:深圳WZ

    记录时间:2016年3月3日

  • 相关阅读:
    如何学习新技术
    创建模式之工厂方法模式
    SQL Server 存储过程
    ASP.NET Cache的一些总结
    ACE_TSS研究
    利用Thunk让C++成员函数变回调函数
    ACE内存映射学习
    ACE的初始化
    双检锁模式学习
    ACE_Task笔记
  • 原文地址:https://www.cnblogs.com/ChYQ/p/5239737.html
Copyright © 2020-2023  润新知