首页 > 代码库 > iostream与iostream.h乱弹琴

iostream与iostream.h乱弹琴

#include <iostream.h> 非标准输出流

#include <iostream>    标准输出流


看一小段eclipse上用android ndk时的简单代码,hello.cpp

#include <jni.h>
#include <iostream.h>
#include <string.h>
#include <stdio.h>

using namespace std;

int main() {

	std::string s = "string";

	printf("printf\n");

	std::cout << "cout" << std::endl;

	return 0;
}


Application.mk中,是这么写的

APP_ABI := armeabi
APP_STL := stlport_static

很幸运的出现了一下错误,大笑

postypes.h:230:16: error: ‘mbstate_t‘ was not declared in this scope ...

...

ios:5:7: error: ‘_STLP_NEW_IO_NAMESPACE‘ has not been declared...

...


现在该怎么解决呢?

#include <iostream.h>          ->      #include <iostream>

APP_STL := stlport_static     ->     APP_STL := gnustl_static



“.h”非标准的,C的标准库函数,无".h"的,需要用命名空间,是C++的。

还有一些不完全是这个差别,比如math。