C++ :=对=错误:未定义对qMain的引用(int,char**)
Qt 4.6.1 在下面的.pro文件中,当我使用C++ :=对=错误:未定义对qMain的引用(int,char**),c++,windows,qt,makefile,C++,Windows,Qt,Makefile,Qt 4.6.1 在下面的.pro文件中,当我使用 sources = ef.cpp 我发现以下错误: RInside.h: No such file or directory 然后,当我将=替换为:=类似: sources := ef.cpp 上述错误消失,我得到一个新错误: error: undefined reference to qMain(int, char**) 从这里开始: 变量=值变量的正常设置-其中的值为 在使用变量时递归展开,而不是在声明变量时 变量:=通过简单的
sources = ef.cpp
我发现以下错误:
RInside.h: No such file or directory
然后,当我将=替换为:=类似:
sources := ef.cpp
上述错误消失,我得到一个新错误:
error: undefined reference to qMain(int, char**)
从这里开始:
变量=值变量的正常设置-其中的值为
在使用变量时递归展开,而不是在声明变量时
变量:=通过简单的
内部值-在声明时扩展其中的值
我想了解这里发生了什么,解决方案是什么。
.cpp
#include <RInside.h>
int main(int argc, char *argv[])
{
RInside R(argc, argv);
R["txt"] = "Hello, world!\n";
R.parseEvalQ ("cat(txt)");
exit(0);
}
这看起来不像Qt项目,所以您可能应该禁用针对Qt库的链接。将
QT
和CONFIG
设置为空:
QT =
CONFIG =
另一方面,如果这是一个Qt项目,应该链接到Qt库,那么问题是您正在覆盖重要变量,如
QMAKE_LIBS
和QMAKE_cxflags
。使用+=
,而不是:=
。另外,使用LIBS
,而不是QMAKE_LIBS
看起来您已经做的更改会让您进入链接阶段。您是否有qMain(int,char**)
?它真的被编译了吗?@cHao我已经发布了我唯一的源代码。我没有在任何地方特别写过qMain。如果你的意思是别的,请澄清。我看到的提示是链接器找不到主功能。这意味着它要么根本不存在,要么名称错误,要么不在任何正在编译的文件中。您的主要功能在何处以及如何定义?n如果你没有,这东西怎么用?@cHao如果你没有,这东西怎么用你可能误解了我的意思。我有main
功能,但没有qMain
功能。当我用=
替换:=
时,错误是不同的。见执行部分。
QT =
CONFIG =