不能使用 C 库(函数)

Can't use C library (function)

本文关键字:函数 不能      更新时间:2023-10-16

以下是我的环境:

  • C/C 开发人员(Juno)的Eclipse IDE
  • QT 4.8.3
  • QT Eclipse Integration v1.6.1
  • Mingw(20120426)

创建QT控制台项目时,我只是无法使用C库功能,例如exit(int)atoi(string)

错误消息就像Function 'exit' could not be resolved

我包括stdlib.h,但仍然无法工作。

我不知道是否与索引有某种关系。


20121109 Update

感谢您的帮助!

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 标头样式。对于stdlib.h:

#include <cstdlib>

那么,我想您没有带上名称空间信息。要么写:

using namespace std;

(即使我不建议它)或

using std::exit    using std::atoi;

或使用完全合格的名称:

std::exit(-1);

最后,为什么您需要这样的功能,例如ATOI?

我有一个类似的情况,我可以通过将#include <cstdlib>移至标头列表的顶部来解决。这意味着其他标题文件之一对cstdlib中的某些内容有依赖性。这不是真正的好习惯,但是它们都是系统标头文件,试图纠正它们会使代码之间的代码在相似的开发系统之间的便携程度降低。

i使用eclipse c kepler。这就是我所做的,它对我有用:右键单击编辑器屏幕>运行为>本地C/C 应用程序。