在我的例子中,我有一个用于dll导出的宏,如下所示:(声明的非常简短的版本)
#ifdef EXPORTDLL
#define MMAPI _declspec(export)
...我的班级是这样的:
Class MMAPI myClass: public qobject{
Q_Object()
...一般来说,mmapi被指定为导出。
我接受一个链接器错误,因为(在我看来)静态元对象是由auto和cmake创建的,用于未解密为导出dll。我找到了一些解决办法。该解决方案建议,包括一些宏行到cmake文件以生成导出文件。不幸的是,我不想那样做。我想用我的mmapi。
简而言之,如何使用宏生成静态元对象。
从现在开始,谢谢大家的帮助。
编辑:当我将库类型更改为静态项目构建但qrc文件未被qml和qt libs找到时
发布于 2022-08-18 14:50:31
我找出问题出在哪里。当我分别为cmake中的每个库定义exportdll宏和私有宏时,问题就解决了。我的主要应用程序库以某种方式看到了宏。
https://stackoverflow.com/questions/73392986
复制相似问题