c++ - Qt5.2 NetworkManager::networkInterfaces()

标签 c++ linux qt qt5

我正在尝试编译一个简单的 Qt5.2 程序,它使用 libnm-qt5 和 libmm-qt5 来管理连接,但是当我试图用这段代码列出它们时:

#include <arpa/inet.h>

#include <QtCore/QTextStream>

#include <NetworkManagerQt5/manager.h>
#include <NetworkManagerQt5/device.h>
#include <NetworkManagerQt5/activeconnection.h>
#include <NetworkManagerQt5/connection.h>

QString typeAsString(const int type)
{
    switch (type) {
    case 0x0: return QString("Unknown");
    case 0x1: return QString("Ethernet");
    case 0x2: return QString("Wifi");
    case 0x3: return QString("Unused1");
    case 0x4: return QString("Unused2");
    case 0x5: return QString("Bluetooth");
    case 0x6: return QString("OlpcMesh");
    case 0x7: return QString("Wimax");
    case 0x8: return QString("Modem");
    }
    return QString("Unknown");
}

int main()
{
    QTextStream qout(stdout, QIODevice::WriteOnly);

    NetworkManager::Device::List list = NetworkManager::networkInterfaces();

    foreach (NetworkManager::Device *dev, list) {
        qout << dev->uni() << "\n";

我在 QtCreator 中遇到错误:“/home/me/Qt/5.2.1/gcc_64/include/QtCore/qglobal.h:860: error: cannot convert 'const QSharedPointer' to 'NetworkManager::Device* ' 在初始化中 for (variable = *container.i;; extension ({--container.brk; break;})) ^”

我一直在像 tis 这样的存储库中搜索:https://build.merproject.org/package/view_file?file=enable-contour.patch&package=plasma-mobile&project=home%3Awonko%3Apa-devel-contour-hack&rev=21他们使用:

NetworkManager::Device::List iflist = NetworkManager::networkInterfaces();
    foreach (NetworkManager::Device::Ptr iface, iflist){

}

但它也给我错误。有谁知道正确的解决方案?

谢谢。

最佳答案

尝试替换

foreach (NetworkManager::Device *dev, list) { ... 

用这个:

foreach (NetworkManager::Device::ptr dev, list) { ...

关于c++ - Qt5.2 NetworkManager::networkInterfaces(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23574583/

相关文章:

c++ - 在 QML 文件之间共享一个对象

linux - 将输出放入下一个管道

c++ - 将 boost::format %s 说明符与 UTF-8 字符串一起使用

c - 为什么有些系统调用在strace下屏蔽SIGPROF信号

php - UnixODBC 多个数据源不起作用

qt - 从非 GUI 线程使用 QWidget::update()

c++ - QPixmap 不适用于存储在变量中的图像路径

c++ - QSpinBox ValueChanged 被多次触发

c++ - 如果在 user.hpp 中定义了 BOOST_NO_EXCEPTIONS,为什么不能编译 boost::shared_ptr

c++ - 在 C/C++ 中向指针添加 1 个字节的正确方法是什么?