moc修改计划开始启动了



  • 先开一个坑。我在使用QML的静态插件的时候,发现moc这个东西有一个问题。在使用Q_PLUGIN_METADATA这个宏来生成moc_XXXX.cpp的时候,IID和FILE都是所标记的插件元数据。但是FILE中所标注的元数据的属性呢,不是很符合标准。也就是说,仍然会出现找不到静态插件的情况。这种情况非常难处理。查了很久,发现是moc的缺陷,好在自己看得懂Qt的源码,于是一场改造moc的行动发起了。



  • 现在我修改了moc.exe,基本上能用。现在静态插件也能顺利地使用了!



  • 具体操作方法就是moc解析Q_PLUGIN_METADATA标签,当收集到了METADATA之后,我们需要让json中的数据与IID等一些数据齐平地存储。这样qqmlimport.cpp里的逻辑就能顺利地读取之。



  • 后面我发现,通过pro文件导出Qt官方未被列入文档的变量,就可以将uri写入插件的元数据中。看来,重写moc没有市场了。
    这个变量是:QMAKE_MOC_OPTIONS


Log in to reply
 

最近的回复

  • G

    北京名律免费法律咨询,解决您的法律困扰,如果您眼下没有遇到法律上的问题,也可以留一位大律师的联系方式以备不时之需!微信图片_20200210141336.png 微信图片_20200210141333.png 微信图片_20200210141329.png

    read more
  • G

    北京名律免费法律咨询,解决您的法律困扰,如果您眼下没有遇到法律上的问题,也可以留一位大律师的联系方式以备不时之需!

    read more
  • 还是挺好看的,有趣儿!

    read more
  • 1479831431.jpg
    这个年由于新型冠状病毒疫情,我被迫在家里。我当时就想,怎样学习一下PBRT,因为这个毕竟是比较重要的内容。
    我于是获取到了著名的《Physically Based Rendering》资料。现在已经第三版了。看来发展得很快。
    第一个版本是2004年发布的,而第二个版本则是2010年发布的。在这些年,渲染技术已经发展得很快,并且
    得到了很多的拥趸。我曾经仔细地看了一遍这本书,发现还是不理解。这就非常头疼了。书中介绍的一些渲染
    的技巧,对于一个从0开始的初学者来说,的确是复杂了许多。但是他们也都是一点一点开始搭建起来的,我
    想,只要找到了正确的学习方法,还是能够顺利地达到他们那个阶段的。

    在寻找渲染技术的路上,我寻找很多的方法。
    知乎:如何阅读PBRT3?
    https://www.zhihu.com/question/309420057/answer/576382644

    后面找到一个稍微简单的《Ray Tracing in a Weekend》
    简书:【笔记】Ray Tracing in a Weekend
    https://www.jianshu.com/p/dc801008ee27?from=groupmessage&isappinstalled=0

    现在的阶段,可能会参考一下《Ray Tracing in a Weekend》结合简书的介绍来慢慢学习PBRT了。

    read more

关注我们

微博
QQ群