以下是我的环境:
- 面向 C/C++ 开发人员的 Eclipse IDE(Juno)
- Qt 4.8.3
- Qt Eclipse Integration v1.6.1
- 明威(20120426)
当我创建一个Qt控制台项目时,我无法使用C库函数,例如exit(int)
或atoi(string)
。
错误信息类似于Function 'exit' could not be resolved
。
我已经包含了stdlib.h
,但仍然无法工作。
不知道跟索引有没有关系
20121109 更新
谢谢你给我的帮助!
atoi
只是一个例子!
虽然我用c++写程序,但有时我想用C库,所以我把它标记为c++。
下面是我的内容
C:/MinGW/include
C:/MinGW/lib/gcc/mingw32/4.6.2/include
C:/MinGW/lib/gcc/mingw32/4.6.2/include/c++
C:/MinGW/lib/gcc/mingw32/4.6.2/include/c++/backward
C:/MinGW/lib/gcc/mingw32/4.6.2/include/c++/mingw32
C:/MinGW/lib/gcc/mingw32/4.6.2/include-fixed
其他都是Qt库。
下面是main
。
#include <QtCore>
#include <QCoreApplication>
#include <cstdlib>
using namespace std;
int main(int argc, char *argv[])
{
std::exit(0);
QCoreApplication a(argc, argv);
return a.exec();
}
我尝试了这种方式,但仍然收到错误消息 Function 'exit' could not be resolved
。
非常感谢!
最佳答案
首先,使用 C++ header 样式。对于 stdlib.h :
#include <cstdlib>
然后,我猜你没有带命名空间信息。要么写:
using namespace std;
(即使我不推荐)或
using std::exit using std::atoi;
或使用完全限定的名称:
std::exit(-1);
最后,为什么需要 atoi 这样的函数?
关于c++ - 不能使用 C 库(函数),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13293925/