Qt — фатальная ошибка C1083: Не удается открыть файл включения: ‘afx.h’

Здесь я опишу шаги, которые я выполнил, чтобы попытаться построить следующий проект 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 64bit2
      • Рабочий стол Qt 5.5.0 MSVC2010 32bit
      • Рабочий стол Qt 5.5.0 MSVC2012 32bit
      • Рабочий стол Qt 5.5.0 MSVC2013 32bit
      • Рабочий стол Qt 5.5.0 MSVC2013 64bit
  2. Загрузка библиотеки Freeimage (двоичная)

  3. Установка библиотеки Freeimage

    • Распаковать FreeImage3170Win32Win64.zip
    • откройте папку FreeImage \ Dist \ x64
    • копия FreeImage.dll в C: \ Windows \ System32 папка
  4. Загрузка и распаковка проекта Twain

  5. Помещение заголовочного файла Freeimage и lib в проект

    • копия Freeimage.h в общий папка
    • создать Lib папка в Twain_App_sample01 \ SRC папка
    • копия freeimage.lib в Twain_App_sample01 \ SRC \ Lib папка
  6. Конфигурация проекта в Qt Creator

    • запуск Qt Creator
    • в Qt нажмите Открытый проект
    • выберите файл src.pro в Twain_App_sample01 \ SRC папка
    • в Настроить проект выберите комплект Рабочий стол Qt 5.5.0 MSVC2013 64bit
    • нажмите на Настроить проект кнопка
  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 файл в проект, и теперь это сообщение исчезло (спасибо Итай Грудев за это)

  1. Сборник — часть 2
    • У меня есть другое сообщение сейчас

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

0

Решение

На самом деле я начинал с неправильного инструмента. Благодаря Бен который отправил меня на правильный путь. Мне нужен был MFC.
Так что правильным решением является использование Visual Studio 2015.
Я мог бы построить это с этим.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]