файл windows.h не найден при сборке для Android в Windows

#android #windows #qt

#Android #Windows #qt

Вопрос:

У меня проблема, когда я пытаюсь создать свое приложение с помощью Qt 5.14.2 static android kit. Я видел подобные ошибки во время поиска, но не нашел решения. Я не знаю почему, но я получаю эту ошибку в файле rand.h внутри каталога OpenSSL:

 fatal error: 'windows.h' file not found
#  include <windows.h> 
  

Я на Windows 10

Qt 5.14.2 Статический

Версия NDK: 21.1.6352462

Есть какие-либо предложения или подсказки? Заранее спасибо.

Обновление: та же ошибка с обычным (нестатическим) Qt 5.15.0

Ответ №1:

Да, #include <> говорит поиск h-файла в вашей файловой системе. Эта строка, возможно, обрамлена чем-то подобным #if Q_OS_... или другим близким. Проверьте выходные данные компиляции для опции --target= Немного больше: вы создаете приложение для Android (как я предполагаю) Windows. Qt нужно понимать, что app-OS не такая, как сейчас. Ключевое слово — перекрестная компиляция

Комментарии:

1. Это комментарий, а не ответ.

2. @IInspectable, я могу добавить «дважды проверить настройки Qt creator» для TS, но он все равно не ответит. Я думаю, он не понимает, в чем проблема. Я объясняю это. Другими словами, следующий вопрос: почему Qt пытается включить windows.h для приложения Android?

3.@user123445151156, я вижу, вы локализовали ошибку #include. Далее — проверьте #If #endif файл с ошибкой — как он будет использоваться с ОС? Если OpenSSL создается из исходного кода, вы должны создать и связать его с целевой платформой, Android в вашем случае.