- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
这是我的代码:
工具.h
#include <QtCore/QObject>
namespace Tinject
{
class ProbeCreator : public QObject
{
Q_OBJECT
public:
explicit ProbeCreator();
Q_INVOKABLE void createProbe();
//void update();
};
}
工具.cpp
#include <stdio.h>
#include "tools.h"
#include <QtCore/QCoreApplication>
#include <QtCore/QMetaObject>
using namespace std;
using namespace Tinject;
ProbeCreator::ProbeCreator() {
moveToThread(QCoreApplication::instance()->thread());
QMetaObject::invokeMethod(this, "createProbe", Qt::QueuedConnection);
}
void ProbeCreator::createProbe()
{
printf("CREATE PROBE");
}
#include "tools.moc"
在每个之前
g++ (g++ -fPIC -o hook.so -shared -I/path/Qt5.4.2/5.4/gcc_64/include -L/path/Qt5.4.2/5.4/gcc_64/lib -lQt5Core main.cpp)
我在运行
moc tools.h -o tools.cpp
然后我尝试注入(inject)这个库钩子(Hook)。所以我正在使用 LD_PRELOAD
并且出现以下错误:
hook.so: undefined symbol: _ZN12ProbeCreatorC1Ev
我的 main.cpp 是:
#include "tools.cpp"
using namespace Tinject;
extern "C" Q_DECL_EXPORT
void qt_startup_hook()
{
new ProbeCreator();
}
这有什么问题吗?
太多代码,额外测试:)
最佳答案
看起来您的 tools.cpp 未包含在源代码中或未编译。
关于c++ - Qt 和 Q_OBJECT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48139955/
在Qt中,我们知道Q_OBJECT是一个宏。在这种情况下,宏意味着什么?特别是我发现术语“宏”可能有几种不同的定义。 谢谢。 最佳答案 宏仅仅意味着Q_OBJECT实际上是一个C++宏。它在 src/
这个类没问题: #include class LiveImageItem : public QThread { Q_OBJECT public: LiveImageItem(QPix
我收到的错误: g++ -c -g -I/usr/lib/qt-3.3/include TCPEchoServer.cpp Product.h:22: error: ISO C++ forbids d
我在构建应用程序时收到以下链接器错误。 HIMyClass.obj:: error: unresolved external symbol "public: virtual struct QMetaO
文档指出: The Q_OBJECT macro must appear in the private section of a class definition that declares its
有个类似的问题here正在寻找解决方法和不错的指南 here它描述了 Qt 中的元对象系统。但这并没有直接解释为什么不能在元对象系统中使用模板类。这是一个令人讨厌的限制。 有人知道为什么吗? 最佳答案
有个类似的问题here正在寻找解决方法和不错的指南 here它描述了 Qt 中的元对象系统。但这并没有直接解释为什么不能在元对象系统中使用模板类。这是一个令人讨厌的限制。 有人知道为什么吗? 最佳答案
众所周知,Q_OBJECT 是实例,不可复制。 是否有任何一种语法糖可以复制任意 QObject 派生类的所有静态和动态属性? 这看起来很简单,但我找不到任何引用 - 显然自己实现一个应该很简单 -
关闭。这个问题是not reproducible or was caused by typos .它目前不接受答案。 这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topi
当我在 Qt Creator 中创建一个新的 Q_OBJECT 类时,它会创建这个默认构造函数。我想添加另一个参数以便我可以传递用户输入,但我不确定如何执行此操作,因为 QObject 是第一个参数并
这是我的代码: 工具.h #include namespace Tinject { class ProbeCreator : public QObject {
我编写了一个扩展 QWidget 类的自定义 Qt 小部件。 让我们考虑以下代码: .h #ifndef SS_TEST_H #define SS_TEST_H #include class Tes
为什么我们通常只在私有(private)部分给出 Q_OBJECT? 我尝试了一个示例程序,在公共(public)部分给出它,我发现没有区别。 如果有人知道,你能告诉我原因吗。 最佳答案 默认情况下,
我有一个不使用 qmake 的遗留版本,但我想添加 QUdpSocket 并将其与信号和插槽连接。我有一个使用 Q_OBJECT 的类。如果我希望信号和槽可用但我没有使用 qmake,我需要做什么才能
我正在开发一个包含多个插件的 c++/Qt 程序。对于每个类,我必须定义一个如下所示的插件接口(interface): //my class class qwerty; //my interface
我有一个由 QFutureWatcher 触发的插槽。我正在尝试转换发件人以获得结果 QFutureWatcher>* QFW = qobject_cast>*>(sender()); 但不断得到 e
如何通过元编程制作基于 Q_OBJECT 的类(具有信号和/或槽的类)?我不在乎它是模板还是预处理器,两者似乎都不起作用,但我确实也需要它。 我想要的是能够将任意函数绑定(bind)到 Qt 信号。
我在一个项目中工作,其中在我需要继承的类中使用了 Q_OBJECT 宏。 已经定义了 Q_OBJECT 的类如下所示, class cBaseObject : public QObject, publ
我在 OSX Lion 中运行 QtCreator,每当我创建一个需要 Q_OBJECT 宏的类时,我都会在尝试构建我的应用程序时遇到错误。该类的代码如下,我收到的错误也是如此。有什么线索吗? 注意:
问题 自从从 Qt 5.10 升级到 Qt 5.11 后,我开始无法生成带有 QDoc 的文档。对于我现有的项目。 许多问题之一是文档中缺少函数,尽管源代码中存在相应的注释。 研究 我已设法将问题缩小
我是一名优秀的程序员,十分优秀!