静态库中的Q_COREAPP_STARTUP_FUNCTION

时间:2017-04-10 21:27:29

标签: c++ qt static-libraries qcoreapplication

Qt有Q_COREAPP_STARTUP_FUNCTION宏来注册一个要作为QCoreApplication构造函数的一部分调用的函数。如果在应用程序或动态链接库中使用,这可以正常工作。但是,如果在静态库中使用,则不会执行该函数。

据我所知,该宏创建了一个静态类,其中构造方法将该方法传递给Qt框架。但由于该类没有在任何地方使用,链接器只是在链接最终应用程序时将其排除。

这里的问题是:我的假设是否正确?有没有办法告诉编译器不要排除这样的实例?问题是我不知道是否使用了多少,因此明确地引用它们是不切实际的。所有编译器(msvc,gcc,clang)的解决方案都是必需的。

0 个答案:

没有答案