![如何为 Ubuntu Touch 编写一个可以访问互联网的 C++ 后端?](https://linux22.com/image/986024/%E5%A6%82%E4%BD%95%E4%B8%BA%20Ubuntu%20Touch%20%E7%BC%96%E5%86%99%E4%B8%80%E4%B8%AA%E5%8F%AF%E4%BB%A5%E8%AE%BF%E9%97%AE%E4%BA%92%E8%81%94%E7%BD%91%E7%9A%84%20C%2B%2B%20%E5%90%8E%E7%AB%AF%EF%BC%9F.png)
有没有办法为 Ubuntu Touch 应用程序编写一个 C++ 后端,使其可以访问互联网并下载文件?
或者我必须通过 QML 来做到这一点,并将其传递给用 C++ 编写的对象?
答案1
是的,可以使用套接字等标准程序或libcurl
默认安装的程序在 C++ 端访问互联网。
哦,我忘记了一个显而易见的事实:Qt 库有网络类。
查看Qt自带的网络示例:http://doc.qt.io/qt-5/examples-network.html
“HTTP 示例”是关于使用下载文件QNetworkRequest
。
CMake 和 Qt5
启用 Qt5 模块的最新 CMake 语法是:
find_package(Qt5Network REQUIRED)
...
target_link_libraries(my-binary Qt5::Network)
二进制文件的名称是您的 cpp 文件将被编译成的文件的名称:可执行文件(对于 C++ 项目而言)或库(对于带有 C++ 插件的 QML 项目而言)。
二进制文件在 CMake 中使用命令add_executable
或定义add_library
。因此,在定义二进制文件后,搜索该命令并链接 Qt5::Network。