小编Usa*_*Ito的帖子

如何在qqlscene(或qmlviewer5)上使用.qml上的Qt Quick 2扩展插件

我在QtCreator中使用项目模板"Libraries/Qt Quick 2 Extension Plugin"创建了一个测试插件作为Qt5/QML共享库.我的开发环境是使用Qt-5.0.0和QtCreator-2.6的linux(详细信息在底部附加).

源文件(在要点上):https://gist.github.com/4467883

源文件是默认生成的,没有任何更改.项目名称为"无标题",uri为"com.mycompany.mycomponents",对象类名为"MyItem"."/ tmp/untitled"中的源文件作为SRCDIR.

并将其构建为输出库文件"libuntitled.so","qmldir"和"/ tmp/untitled-build"中的一些目标文件作为DESTDIR.

$ ls /tmp/untitled-build
Makefile  libuntitled.so  moc_myitem.cpp 
moc_myitem.o  moc_untitled_plugin.cpp  moc_untitled_plugin.o  myitem.o
qmldir  untitled_plugin.o
Run Code Online (Sandbox Code Playgroud)

但是,我不能使用 "/tmp/test/test.qml"中的库作为qmlscene命令的测试QML源.

$ mkdir /tmp/test; cd /tmp/test
$ vim test.qml
Run Code Online (Sandbox Code Playgroud)

"test.qml"(在要点上):https://gist.github.com/4474422

$ qmlscene test.qml
Run Code Online (Sandbox Code Playgroud)

失败了,QML_IMPORT_TRACE日志是:

QQmlImportDatabase::addImportPath: "/usr/lib64/qt5/qml"
QQmlImportDatabase::addImportPath: "/usr/bin"
QQmlImports(file:///tmp/test/test.qml)::addImplicitImport
QQmlImports(file:///tmp/test/test.qml)::addLibraryImport: "QtQuick" 2.0 as ""
QQmlImports(file:///tmp/test/test.qml)::importExtension: loaded "/usr/lib64/qt5/qml/QtQuick.2/qmldir"
QQmlImportDatabase::importPlugin: "QtQuick" from "/usr/lib64/qt5/qml/QtQuick.2/libqtquick2plugin.so"
file:///tmp/test/test.qml:2 module "com.mycompany.mycomponents" is not installed
Run Code Online (Sandbox Code Playgroud)

并尝试"-I"选项: …

c++ shared-libraries qml qt5

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

使用 VS Code 和 MSVC 工具链调试 Rust 程序时,如何在“panic”处设置断点?

我可以手动设置断点,并使用调试器运行,但我无法在 Rust 程序出现紧急情况时设置断点。如何在恐慌时设置断点,就像在 C++ 中设置异常一样?

我正在使用 Rust 1.29.0-nightly、VS Code 1.25.1 和 MSVC 2017 工具链。

debugging breakpoints rust visual-studio-code vscode-debugger

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

为什么不同的`this`在使用多重继承时解决

在C++中,它是使用std::enable_shared_from_this和继承的小样本代码.在p此代码,调用一个成员函数FB和FA.它p是相同的对象,但称为fa和fb采用不同的this地址.

为什么要采取不同的地址?

码:

#include <memory>
#include <iostream>

template<class T> using S = std::enable_shared_from_this<T>;

struct A: S<A>    { auto fa() const -> void { std::cerr << this << "\n";} };
struct B: S<B>, A { auto fb() const -> void { std::cerr << this << "\n";} };

auto main() -> int
{
    auto p = std::make_shared<B>();

    p -> fa();
    p -> fb();

    std::cerr << p << "\n";
}
Run Code Online (Sandbox Code Playgroud)

结果:(经过测试的编译器是Linux Mint 16 KDE上的clang ++ …

c++ memory-management std multiple-inheritance c++11

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