小编Her*_*man的帖子

chromium checkout 构建:找不到 Ninja

尝试从 ubuntu 18.04 开始在 docker 容器中构建适用于 android 的 webview。

按照说明进行所有操作,最后一个版本可以使用命令构建:

autoninja -C out/Default system_webview_apk
Run Code Online (Sandbox Code Playgroud)

但我需要一个旧版本。所以我这样做:

git checkout 80.0.3987.99 -b 80-version
Run Code Online (Sandbox Code Playgroud)

之后运行同步:

gclient sync
Run Code Online (Sandbox Code Playgroud)

默认情况下,它也会在同步后运行钩子。然后我再次使用相同的 cmd 开始构建:

autoninja -C out/Default system_webview_apk
Run Code Online (Sandbox Code Playgroud)

但这一次在结账构建时它给了我错误,我几个小时都无法修复:

user@0bb1627b6f62:~/workdir/chromium/src$ autoninja -c out/Default/ system_webview_apk
depot_tools/ninja.py: Could not find Ninja in the third_party of the current project, nor in your PATH.
Please take a following action to install Ninja.
- If your project has DEPS, Add a CIPD Ninja dependency to DEPS.
- Otherwise, add Ninja to …
Run Code Online (Sandbox Code Playgroud)

build chromium ninja

1
推荐指数
1
解决办法
3812
查看次数

使用 std::move 将 std::unique_ptr 作为 qt 信号参数传递

我在Qt工作,我没有提到它,因为我认为这只是C++问题。

我用共享指针解决了这个问题,所以不要给我解决方案。但这是理解的问题,我想了解为什么它不起作用。

我正在尝试以下操作:

测试.h:

#include <QObject>
#include "response.h"
#include <memory>

class Test : public QObject
{
    Q_OBJECT
public:
    explicit Test(QObject *parent = nullptr);

signals:
    void signal(std::unique_ptr<Response> resp);

public slots:

};
Run Code Online (Sandbox Code Playgroud)

测试.cpp:

Test::Test(QObject *parent) : QObject(parent)
{
    std::unique_ptr<Response> response(new Response(5));

    emit signal(std::move(response));
}
Run Code Online (Sandbox Code Playgroud)

Response 班级:

class Response
{
public:
    Response(int data);

private:
     int data;
};
Run Code Online (Sandbox Code Playgroud)

我知道std::unique_ptr不能复制,我std::move在这里使用。但尽管如此,我还是收到了一个错误:

moc_test.cpp:75:85: error: use of deleted function ‘std::unique_ptr<_Tp, _Dp>::unique_ptr(const std::unique_ptr<_Tp, _Dp>&) [with _Tp = Response; _Dp = std::default_delete<Response>]’
         case 0: _t->signal((*reinterpret_cast< std::unique_ptr<Response>(*)>(_a[1]))); …
Run Code Online (Sandbox Code Playgroud)

c++ qt smart-pointers unique-ptr qmetaobject

0
推荐指数
1
解决办法
594
查看次数

标签 统计

build ×1

c++ ×1

chromium ×1

ninja ×1

qmetaobject ×1

qt ×1

smart-pointers ×1

unique-ptr ×1