webrtc库和qt编译时注意事项

webrtc库和qt库一起使用时,需要注意signals,emit关键字冲突的问题,因为webrtc头文件中有emit等关键字,没有加命名空间
故需要在引入qt时,添加QT_NO_KEYWORDS宏定义,这样qt就会使用Q_SIGNALS,Q_EMIT, Q_SLOTS来代替原来的emit等关键字,从而解决冲突;
相应的,自己编写的代码中
slots需要替换为Q_SLOTS
signals需要替换为Q_SIGNALS
emit替换为Q_EMIT;
如下:

class LoginDialog : public QDialog
{
    Q_OBJECT
public:
    explicit LoginDialog(QWidget *parent = nullptr);
    void initView();
    QWidget *createLoginPanel();
    void paintEvent(QPaintEvent *);
Q_SIGNALS:

public Q_SLOTS:
};

你可能感兴趣的:(webrtc库和qt编译时注意事项)