QtCreator编译失败:'qt_plugin_instance_Find'尚未声明

时间:2014-06-04 17:11:55

标签: qt qt-creator rhel

我试图在RHEL 5.8上安装QtCreator。我使用Qt 4.8.6,它是使用-static标志配置的。当我运行make时,我收到以下错误:

/usr/local/qt-creator-2.7.2-src/src/plugins/find/findplugin.cpp:399:错误:'qt_plugin_instance_Find'尚未声明

/usr/local/qt-creator-2.7.2-src/src/libs/aggregation/aggregate.h:在函数'QList Aggregation :: query_all(QObject *)[with T = Find :: IFindFilter]' : /usr/local/qt-creator-2.7.2-src/src/libs/extensionsystem/pluginmanager.h:76:从'static QList ExtensionSystem :: PluginManager :: getObjects()[with T = Find :: IFindFilter]实例化“

/usr/local/qt-creator-2.7.2-src/src/plugins/find/findplugin.cpp:223:从这里实例化

/usr/local/qt-creator-2.7.2-src/src/libs/aggregation/aggregate.h:122:警告:降低'QReadLocker&的可见度Aggregation :: lock()[with T = Find :: IFindFilter]'匹配其类型

make [3]:[。obj / release-shared / findplugin.o]错误1
make [3]:离开目录/ usr / local / qt-creator-build / src / plugins / find'
make [2]:[sub-find-make_default]错误2 make [2]:离开目录/ usr / local / qt-creator-build / src / plugins'
make [1]:[sub-plugins-make_default-ordered]错误2
make [1]:离开目录`/ usr / local / qt-creator-build / src'
make:[sub-src-make_default-ordered]错误2

我已经谷歌搜索了一段时间,无法找到任何东西。我从2.5-2.7尝试了几种不同版本的QtCreator并且总是得到同样的东西。有任何想法吗?感谢。

1 个答案:

答案 0 :(得分:1)

我非常怀疑Qt Creator的构建系统支持静态Qt构建,因为Qt Creator使用的插件必须动态链接到Qt Creator使用的相同Qt二进制文件。在静态构建的Qt下,这是不可能的。

因此,您不想支持的是开箱即​​用的。使用Qt的动态构建。您可以安装多个Qt版本(使用不同的前缀),这样就不会有问题。有时我会打十几个。

或许可以使用Q_IMPORT_PLUGIN宏和相关机制将Qt Creator的插件编译为静态插件。我不知道Qt Creator的来源是否支持这种开箱即用的方式。也许这是一个很小的修改,让它工作。