C++ :=对=错误:未定义对qMain的引用(int,char**)

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**) 从这里开始: 变量=值变量的正常设置-其中的值为 在使用变量时递归展开,而不是在声明变量时 变量:=通过简单的

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**)

从这里开始:

变量=值变量的正常设置-其中的值为 在使用变量时递归展开,而不是在声明变量时

变量:=通过简单的 内部值-在声明时扩展其中的值

我想了解这里发生了什么,解决方案是什么。

.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 =