LINUX.ORG.RU

qt 5.14 android компилятор не собирает проект.

 , ,


0

1
QFile file("123.txt");
    file.open(QIODevice :: WriteOnly | QIODevice::Text);

Простой пример, ругается на open.

error: no matching member function for call to 'open'

В доке этот метод есть и на mingw компилит, а андроид компилятор не хочет. Куда копать ? Qt 5.8 андроид собирает, ndk,sdk стоят и подхватываются в qt. Хотел андроид службу попробовать на qt сделать, а их поддержки в qt 5.8 вроде нету.

no matching

Оно должно было еще написать какие есть варинты и почему не подошло. Давай весь лог.

anonymous
()
Ответ на: комментарий от anonymous
error: no matching member function for call to 'open'
qfile.h:137: candidate function not viable: no known conversion from 'int' to 'QIODevice::OpenMode' (aka 'QFlags<QIODevice::OpenModeFlag>') for 1st argument
qfile.h:139: candidate function not viable: requires 3 arguments, but 1 was provided

Также еще такие ошибки андроид компилятор выдает:

In file included from ../TestAndr/mainwindow.cpp:1:
In file included from ../TestAndr/mainwindow.h:4:
In file included from ../../../../Qt/Qt5.14.2/5.14.2/android/include/QtWidgets\QMainWindow:1:
In file included from ../../../../Qt/Qt5.14.2/5.14.2/android/include/QtWidgets/qmainwindow.h:43:
In file included from ../../../../Qt/Qt5.14.2/5.14.2/android/include\QtWidgets/qtwidgetsglobal.h:43:
In file included from ../../../../Qt/Qt5.14.2/5.14.2/android/include\QtGui/qtguiglobal.h:43:
../../../../Qt/Qt5.14.2/5.14.2/android/include\QtCore/qglobal.h:45:12: In file included from fatal error../TestAndr/main.cpp:1: 'type_traits' file not found
:
In file included from ../TestAndr/mainwindow.h:4:
In file included from ../../../../Qt/Qt5.14.2/5.14.2/android/include/QtWidgets\QMainWindow:1:
#  include <type_traits>
           ^~~~~~~~~~~~~In file included from ../../../../Qt/Qt5.14.2/5.14.2/android/include/QtWidgets/qmainwindow.h:43:

In file included from ../../../../Qt/Qt5.14.2/5.14.2/android/include\QtWidgets/qtwidgetsglobal.h:43:
In file included from ../../../../Qt/Qt5.14.2/5.14.2/android/include\QtGui/qtguiglobal.h:43:
../../../../Qt/Qt5.14.2/5.14.2/android/include\QtCore/qglobal.h:45:12: fatal error: 'type_traits' file not found
#  include <type_traits>
user2132
() автор топика
Ответ на: комментарий от EXL

Тоже есть, скачал последнюю ndk, стало собираться. Но теперь такие ошибки остались, раньше тоже было:

QNetworkRequest request(myurl);
QSslConfiguration conf = request.sslConfiguration();
conf.setPeerVerifyMode(QSslSocket::VerifyNone);
request.setSslConfiguration(conf);

Не видит метод sslConfiguration

../TestMosreg/mainwindow.cpp:142:23: error: variable 'QSslConfiguration conf' has initializer but incomplete type
     QSslConfiguration conf = request.sslConfiguration();
                       ^
../TestMosreg/mainwindow.cpp:142:38: error: 'class QNetworkRequest' has no member named 'sslConfiguration'
     QSslConfiguration conf = request.sslConfiguration();
                                      ^
../TestMosreg/mainwindow.cpp:143:28: error: 'QSslSocket' has not been declared
     conf.setPeerVerifyMode(QSslSocket::VerifyNone);

В хэдере добавлены классы:

#include <QSslSocket>
#include <QSslConfiguration>

user2132
() автор топика
Ответ на: комментарий от user2132

скачал последнюю ndk, стало собираться.

Скорее всего проблема была с компилятором, в более новом Qt видимо обрезали поддержку старых. Либо намудрили с дефайнами.

Не видит метод sslConfiguration

Скорее всего Qt собран с QT_NO_SSL, т.е. без поддержки ssl.

anonymous
()
Ответ на: комментарий от user2132

скорее всего надо сделать static_cast из инта в енум. думаю, что более новый компилятор считает, что это преобразование нельзя сделать автоматически. ещё можешь попробовать -std=c++11 или -std=c++98.

а как ты вообще на с++ пишешь, наугад чтоли кнопки нажимаешь?

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.