C++编译时一直提示iostream.h的错误,该怎么解决啊?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++编译时一直提示iostream.h的错误,该怎么解决啊?相关的知识,希望对你有一定的参考价值。
看来,你是想用bcb学习c++,对吧,那么你不用深入学习bcb中的各个控件了,只要运行bcb的
控制台程序就可以用c++了,实际上很多人用vc++学习c++,也是用vc++的控制台程序学习的。
你可以这样做。
1、启动bcb,bcb会自动生成一个form可视框架,既然你编写控制台程序,你直接选择
file菜单中的close
all,关闭它就行了。
2、打开file菜单,选择new,然后选择other,会弹出一个对话框,里边很多选项,你选择
console
wizard即可,然后出现一个小对话框,默认使用c++语法,并且提示你输入你要建立的
工程的目录,也就是说你想把你编写的程序放在哪个目录下。你打勾special
project
source,然后在编辑框里输入你要存放的目录;去掉复选框的use
vcl选择,点击ok即可。
3、在新的对话框中
选择
create
a
new
unit,
点击ok;
4、现在就可以编写代码了。
例如:
你输入
#include
<iostream>
#include
<conio.h>
using
namespace
std;
void
main()
cout<<"
ok"<<endl;
getch();
就可以运行了,注意:与vc++不同的是,bcb的控制台程序运行完后,dos窗口马上结束,不会停顿,所以我一般加上getch();函数,等到你按下一个键才结束程序,用这个需要加上头文件#include
<conio.h>。
我说的很详细了,给点分吧。以上回答适用于bcb6.0 参考技术A C++03标准规定,现代编译器支持的头文件为iostream而不是iostream.h
如果一定要使用iostream请不要使用标准命名空间,即不要使用using namespace std;
将包含头命令修改如下
#include<iostream>
using namespace std;
满意采纳,不满意请追问追问
我改过,可是错误还存在,不知道为啥
追答可能是你下载的IDE已经损坏,
你去include文件夹中检查检查,是不是存在iostream/iostream.h头文件
没有的话,去网上下载一个并放到那个文件夹里就好了
不好意思,再请教下啊,这个怎么检查、下载呢
追答你去文件夹中看看有没有那个文件呗
下载你去百度一打那个文件名就有了
android编译surface c++程序时,报错缺少.o文件
近期在研究Android的surface系统,写了个小demo,编译的时候。一直报错,说是缺少.o文件,可是看代码一直没问题。后来发现原来是在window下编写的,然后在linux编译的时候,后缀多了^M。所以导致编译只是。
事实上提示类似的错误。肯定是代码那块地方出现了类似的错误。不知道的,查起来能累死,知道的非常快的就能知道怎么查。
顺便把源代码贴写。
testsurface.cpp
#include <unistd.h>
#include <string.h>
#include <stdlib.h>
#include <getopt.h>
#include <cutils/memory.h>
#include<native_window.h>
#include <utils/Log.h>
#include <binder/IPCThreadState.h>
#include <binder/ProcessState.h>
#include <binder/IServiceManager.h>
#include <ui/GraphicBuffer.h>
#include <gui/Surface.h>
#include <gui/ISurfaceComposer.h>
#include <gui/SurfaceComposerClient.h>
#include <cutils/properties.h>
#include <ui/DisplayInfo.h>
using namespace android;
int main(int argv,char *argc[])
{
sp<ProcessState> proc(ProcessState::self());
ProcessState::self()->startThreadPool();
sp<SurfaceComposerClient> client = new SurfaceComposerClient();
sp<SurfaceControl> surfaceControl = client->createSurface(String8("testsurface"),240, 160, PIXEL_FORMAT_RGBX_8888, 0);
DisplayInfo dinfo;
sp<IBinder> display = SurfaceComposerClient::getBuiltInDisplay(
ISurfaceComposer::eDisplayIdMain);
SurfaceComposerClient::getDisplayInfo(display, &dinfo);
uint32_t dispw = dinfo.w;
uint32_t disph = dinfo.h;
/* create backgound surface */
sp<SurfaceControl> bg_surfaceControl = client->createSurface(
String8("test-bg-surface"), dispw, disph, PIXEL_FORMAT_RGBX_8888);
sp<Surface> bg_surface = bg_surfaceControl->getSurface();
/* set background layer z-order */
SurfaceComposerClient::openGlobalTransaction();
bg_surfaceControl->setLayer(200000);
SurfaceComposerClient::closeGlobalTransaction();
/* clear background layer black */
ANativeWindow_Buffer outBuffer;
bg_surface->lock(&outBuffer, NULL);
ssize_t bpr = outBuffer.stride * bytesPerPixel(outBuffer.format);
android_memset32((uint32_t*)outBuffer.bits, 0xFF000000, bpr * outBuffer.height);
bg_surface->unlockAndPost();
sleep(5);
bg_surface->lock(&outBuffer, NULL);
bpr = outBuffer.stride * bytesPerPixel(outBuffer.format);
android_memset32((uint32_t*)outBuffer.bits, 0xF800, bpr * outBuffer.height);
bg_surface->unlockAndPost();
sleep(5);
bg_surface->lock(&outBuffer, NULL);
bpr = outBuffer.stride * bytesPerPixel(outBuffer.format);
android_memset32((uint32_t*)outBuffer.bits, 0x7e56, bpr * outBuffer.height);
bg_surface->unlockAndPost();
sleep(5);
return 0;
}
Android.mk
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES:= testsurface.cpp
LOCAL_C_INCLUDES := external/skia/include/core \
frameworks/native/include/android
LOCAL_SHARED_LIBRARIES := libcutils \
libutils \
libbinder \
libui \
libgui \
LOCAL_MODULE:= testsurface
LOCAL_MODULE_TAGS := tests
include $(BUILD_EXECUTABLE)
以上是关于C++编译时一直提示iostream.h的错误,该怎么解决啊?的主要内容,如果未能解决你的问题,请参考以下文章
在vs中运行C++程序出现错误无法打开包括文件“iostream.h”
android编译surface c++程序时,报错缺少.o文件