Как написать бэкэнд на C++ для Ubuntu Touch, который может выходить в интернет?
Есть ли способ написать бэкэнд на C++ для приложения Ubuntu Touch, которое может выходить в интернет и загружать файлы?
Или я должен сделать это через QML и передать его объектам, написанным на C++?
1 ответ
Да, можно получить доступ к Интернету на стороне C++, используя что-то стандартное, например, сокеты или libcurl
это установлено по умолчанию.
О, я забыл очевидное: библиотека Qt имеет сетевые классы.
Посмотрите на примеры сети, которые поставляются с Qt: http://doc.qt.io/qt-5/examples-network.html
"Пример HTTP" о загрузке файла с использованием QNetworkRequest
,
CMake и Qt5
Самый последний синтаксис CMake для включения модулей Qt5:
find_package(Qt5Network REQUIRED)
...
target_link_libraries(my-binary Qt5::Network)
Имя двоичного файла - это имя файла, в который будут компилироваться ваши cpp-файлы: исполняемый файл (в случае проекта C++) или библиотека (в случае проекта QML с плагином C++).
Двоичные файлы определяются в CMake командой add_executable
или же add_library
, Так что ищите это и связывайте Qt5::Network после определения двоичного файла.