不能使用 C 库(函数)
Can't use C library (function)
以下是我的环境:
- 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 应用程序。
相关文章:
- 递归模板化函数不能分配给具有常量限定类型"const tt &"的变量"state"
- 为什么虚函数不能是静态的和全局的?
- 为什么继承的受保护构造函数不能公开?
- C++为什么类成员函数不能重新声明,但普通函数可以
- 为什么在C++中使用关系运算符创建的模板函数不能对字符串正常工作?
- 成员函数不能为集合迭代器和const_iterator的输入重载(但可以为其他 STL 迭代器重载)
- 为什么模板函数不能作为模板模板参数传递?
- 为什么 free 函数不能在 C 数组上运行,而 std::begin 在某些情况下可以在 C++14 中运行?
- 构造函数不能用于启发性化
- C 错误 - 函数不能超载
- 有没有办法使成员函数不能从构造函数调用
- 为什么模板函数不能是模板类的友元模板函数
- "Framework::Graphics::Material"的默认构造函数不能被引用 - 它是一个已删除的函数
- lower_bound()函数不能在调试模式下编译
- 为什么函数不能正确强制转换指针(从基类到派生类)
- 显式默认函数不能声明为 constexpr,因为隐式声明不是 constexpr
- 琐碎的默认构造函数不能是 constexpr?
- 函数不能嵌套,那么如何在C++中执行此操作
- 错误:成员函数不能在其类之外声明
- 错误-仅返回类型不同的函数不能重载.c++