我正在使用Eclipse 4.5来实现QT5的一些GUI。 CMAKE用于编译我的项目。所以,Eclipse向我展示了一些错误,比如无效的参数
public synchronized void run() {
System.out.println("thread started");
try {
for (int i = 0; i < 10; i++) {
m++;
n++;
Thread.sleep(100);
System.out.println(m + ", " + n);
}
} catch (InterruptedException e) {
}
System.out.println("thread fininshed");
}
最有趣的是,我的项目编译没有任何错误或警告!
问题是功能QObject :: connect
Description Resource Path Location Type
Invalid arguments '
Candidates are:
QMetaObject::Connection connect(const QtPrivate::FunctionPointer<#0>::Object *, #0, const QtPrivate::FunctionPointer<#1>::Object *, #1, enum Qt::ConnectionType)
QMetaObject::Connection connect(const QObject *, const char *, const QObject *, const char *, enum Qt::ConnectionType)
QMetaObject::Connection connect(const QObject *, const QMetaMethod &, const QObject *, const QMetaMethod &, enum Qt::ConnectionType)
QMetaObject::Connection connect(const QObject *, const char *, const char *, enum Qt::ConnectionType)
QtPrivate::QEnableIf<1 11 14 129 1 74 0 ArgumentCount 14 QtPrivate::FunctionPointer 1 #1 103 4225 0 74 01 11 14 129 1 74 0 ArgumentCount 14 QtPrivate::FunctionPointer 1 #1 103 4225 0 74 0,QMetaObject::Connection>::Type connect(const QtPrivate::FunctionPointer<#0>::Object *, #0, #1)
QtPrivate::QEnableIf<1 15 1 11 14 129 1 74 0 ArgumentCount 14 QtPrivate::FunctionPointer 1 #1 103 4225 0 74 0 15 7 74 0 IsPointerToMemberFunction 14 QtPrivate::FunctionPointer 1 #1 01 15 1 11 14 129 1 74 0 ArgumentCount 14 QtPrivate::FunctionPointer 1 #1 103 4225 0 74 0 15 7 74 0 IsPointerToMemberFunction 14 QtPrivate::FunctionPointer 1 #1 0,QMetaObject::Connection>::Type connect(const QtPrivate::FunctionPointer<#0>::Object *, #0, const QObject *, #1, enum Qt::ConnectionType)
QtPrivate::QEnableIf<1 28 74 0 ArgumentCount 14 QtPrivate::FunctionPointer 1 #1 15 3 103 4225 1 74 1 01 28 74 0 ArgumentCount 14 QtPrivate::FunctionPointer 1 #1 15 3 103 4225 1 74 1 0,QMetaObject::Connection>::Type connect(const QtPrivate::FunctionPointer<#0>::Object *, #0, #1)
QtPrivate::QEnableIf<1 28 74 0 ArgumentCount 14 QtPrivate::FunctionPointer 1 #1 15 3 103 4225 1 74 1 01 28 74 0 ArgumentCount 14 QtPrivate::FunctionPointer 1 #1 15 3 103 4225 1 74 1 0,QMetaObject::Connection>::Type connect(const QtPrivate::FunctionPointer<#0>::Object *, #0, const QObject *, #1, enum Qt::ConnectionType)
' gui.cpp /PROJECT/src line 161 Semantic Error
这个功能出了什么问题?
答案 0 :(得分:0)
我如何做Linux + eclipse + Qt + CMake。
获取最新的eclipse,然后通过“帮助 - &gt;安装新软件”将Qt软件包安装到其中。
在CMake项目源目录外创建一个空的“workspace”目录。
启动eclipse并切换到“workspace”目录。
创建C ++ - &gt; Makefile项目 - &gt; Qt Makefile项目。
从中删除* .pro文件,makefile和main.cpp。
转到项目属性 - &gt;路径和符号 - &gt;来源位置 - &gt;链接文件夹。
选中“高级”并链接CMake项目的源文件夹,如:../../myproject/
。它的工作原理是工作区位于CMake项目目录之外。
在项目中创建Release
文件夹。
转到“制作目标”视图(Ctrl + 3,然后输入“Make Target”,如果很难找到)。 “Make Target”视图看起来就像项目视图一样。
右键单击“Release”文件夹和“New ...”。
取消选中“与目标名称相同”,取消选中“使用构建器设置”。
在“目标名称”字段中键入“释放”,将“制作目标”留空,“构建命令”类似于“cmake ../../../myproject/”。点击确定。
双击此“Release”制作刚刚在Release文件夹中创建的目标。它应该运行cmake。
转到项目属性,创建“发布”配置。
激活“释放”配置。
对于“发布”配置,取消选中“自动生成Makefile”。
将Build目录设置为“Release”。
启用并行构建。
它现在应该在“Release”目录中构建。如果没有,请从“Release”目录中删除all,然后像以前一样双击“Make Target”视图中的“Release”目标重新运行cmake。