Qt - C++ - 致命错误 C1083:无法打开包含文件:"afx.h"

Qt - C++ - fatal error C1083: Cannot open include file: 'afx.h'

本文关键字:包含 文件 afx 致命错误 C++ C1083 Qt      更新时间:2023-10-16

这里我描述了我尝试构建以下C++项目所遵循的步骤:

http://sourceforge.net/projects/twain-samples/files/TWAIN%202%20Sample%20Application/

在Microsoft Windows 7-64位上。我的最终目标是保留功能并添加命令行参数,这样我就可以在批处理文件中运行它,因为现在它是一个基于菜单的软件。

  1. 安装Qt Creator社区

    • 3.5.0版(基于Qt 5.5.0(MSVC 2013,32位(
    • 可用套件:
      • 桌面Qt 5.4.2 MSVC2013 64位2
      • 台式机Qt 5.5.0 MSVC2010 32位
      • 桌面Qt 5.5.0 MSVC2012 32位
      • 台式机Qt 5.5.0 MSVC2013 32位
      • 台式机Qt 5.5.0 MSVC2013 64位
  2. 下载免费图像库(二进制(

    • http://downloads.sourceforge.net/freeimage/FreeImage3170Win32Win64.zip
  3. 安装Freeimage库

    • 解压缩FreeImage3170Win32Win64.zip
    • 打开文件夹FreeImage\Dist\x64
    • 复制C:\Windows\System32文件夹中的freeimage.dll
  4. 下载并解压缩Twain项目

    • 在中下载Twain_App_sample.source.ziphttp://sourceforge.net/projects/twain-samples/files/TWAIN%202%20Sample%20Application/
    • 解压缩存档文件Twain_App_sample.source.zip,该文件将提供以下两个文件夹:
      • Twain_App_sample01
      • 常见
  5. 将Freeimage头文件和lib放入项目

    • Freeimage.h复制到common文件夹中
    • Twain_App_sample01\src文件夹中创建lib
    • 复制Twain_App_sample01\src\lib文件夹中的freeimage.lib
  6. 在Qt Creator中配置项目

    • 启动Qt Creator
    • 在Qt中,单击打开项目
    • 选择Twain_App_sample01\src文件夹中的文件src.pro
    • 配置项目中,选择工具包Desktop Qt 5.5.0 MSVC2013 64位
    • 单击"配置项目"按钮
  7. 创建并使用字符串转换函数

    • DSMInterface.cpp源文件中,添加以下函数:

      wchar_t *convertCharArrayToLPCWSTR(const char* charArray)
      {
          wchar_t* wString=new wchar_t[4096];
          MultiByteToWideChar(CP_ACP, 0, charArray, -1, wString, 4096);
          return wString;
      }
      
    • DSMInterface.cpp中,函数LoadDSMLib,替换

      if((gpDSM=LOADLIBRARY(_pszLibName)) != 0)
      

      带有

      if((gpDSM=LOADLIBRARY(convertCharArrayToLPCWSTR(_pszLibName))) != 0)
      
  8. 编译-第1部分

    • 现在我从链接器收到一条消息:

DSMInterface.obj:-1: error : LNK2019: unresolved external symbol "int __cdecl VerifyEmbeddedSignature(wchar_t const *)" (?VerifyEmbeddedSignature@@YAHPEB_W@Z) referenced in function "bool __cdecl LoadDSMLib(char *)" (?LoadDSMLib@@YA_NPEAD@Z)

我将Twain_App_sample01\src\VerifySignature.cpp文件添加到项目中,现在此消息不见了(感谢Itay Grudev(

  1. 编译-第2部分
    • 我现在有另一条消息

..srcVerifySignature.cpp(13) : fatal error C1083: Cannot open include file: 'afx.h': No such file or directory

事实上,我是从错误的工具开始的。感谢Ben让我走上正轨。我需要MFC。因此,正确的解决方案是使用Visual Studio 2015。我可以用它来建造它。

相关文章: