不能包含<iostream>或它崩溃</iostream>

时间:2013-05-16 00:12:07

标签: c++ eclipse opengl iostream glut

我正在使用eclipse与C ++和opengl。但是在我的程序中我不能使用#include或者我得到以下错误启动配置中指定的程序文件不存在C:\ Users \ workspace \ mapCreator \ Debug \ mapCreator.exe not found

控制台看起来像这样

  

08:10:17 **增量构建配置项目调试   mapCreator ** Info:内部构建器用于构建g ++   “-IC:\ MinGW的\ LIB \ GCC \的mingw32 \ 4.6.2 \包括”   “-IC:\ MinGW的\ lib中\ GCC \的mingw32 \ 4.6.2 \包括固定”   “-IC:\ MinGW的\ lib中\ GCC \的mingw32 \ 4.6.2 \包括\ C ++”   “-IC:\ MinGW的\ lib中\ GCC \的mingw32 \ 4.6.2 \包括\ C ++ \向后”   “-IC:\ MinGW的\ lib中\ GCC \的mingw32 \ 4.6.2 \包括\ C ++ \的mingw32”   “-IC:\ MinGW \ include”-O0 -g3 -Wall -c -fmessage-length = 0 -o

"src\main.o" "..\src\main.cpp" In file included from
C:\MinGW\lib\gcc\mingw32\4.6.2\include\c++/bits/char_traits.h:41, from
C:\MinGW\lib\gcc\mingw32\4.6.2\include\c++/ios:41, from
C:\MinGW\lib\gcc\mingw32\4.6.2\include\c++/ostream:40, from
C:\MinGW\lib\gcc\mingw32\4.6.2\include\c++/iostream:40, from
..\src\main.cpp:4:
C:\MinGW\lib\gcc\mingw32\4.6.2\include\c++/bits/stl_algobase.h: In
function 'OI std::_copy_move_a(_II, _II, _OI)':
C:\MinGW\lib\gcc\mingw32\4.6.2\include\c++/bits/stl_algobase.h:378:
error: expected primary-expression before ')' token
  

C:\ MinGW的\ lib中\ GCC \的mingw32 \ 4.6.2 \包括\ C ++ /比特/ stl_algobase.h:378:   错误:'__is_trivial'没有依赖于a的参数   模板参数,因此必须声明'__is_trivial'   可用

     

C:\ MinGW的\ lib中\ GCC \的mingw32 \ 4.6.2 \包括\ C ++ /比特/ stl_algobase.h:378:   注意:(如果你使用'-fpermissive',G ++会接受你的代码,但是   允许使用未声明的名称已弃用)

     

C:\ MinGW的\ lib中\ GCC \的mingw32 \ 4.6.2 \包括\ C ++ /比特/ stl_algobase.h:383:   错误:'__ simple'不能出现在常量表达式

中      

C:\ MinGW的\ lib中\ GCC \的mingw32 \ 4.6.2 \包括\ C ++ /比特/ stl_algobase.h:384:   错误:模板参数2无效

     

C:\ MinGW \ lib \ gcc \ mingw32 \ 4.6.2 \ include \ c ++ / bits / stl_algobase.h:In   函数'BI2 std :: _ copy_move_backward_a(_BI1,_BI1,_BI2)':   C:\ MinGW的\ lib中\ GCC \的mingw32 \ 4.6.2 \包括\ C ++ /比特/ stl_algobase.h:573:   错误:')'令牌

之前的预期主要表达式      

C:\ MinGW的\ lib中\ GCC \的mingw32 \ 4.6.2 \包括\ C ++ /比特/ stl_algobase.h:573:   错误:'__is_trivial'没有依赖于a的参数   模板参数,因此必须声明'__is_trivial'   可用

     

C:\ MinGW的\ lib中\ GCC \的mingw32 \ 4.6.2 \包括\ C ++ /比特/ stl_algobase.h:578:   错误:'__ simple'不能出现在常量表达式

中      

C:\ MinGW的\ lib中\ GCC \的mingw32 \ 4.6.2 \包括\ C ++ /比特/ stl_algobase.h:579:   错误:模板参数2无效g ++ -o mapCreator.exe

     

“src \ main.o”-lopengl32 -lglut32 -lglu32 g ++:src \ main.o:没有这样的文件   或目录

     

08:10:18建成(耗时1s.31ms)

我的代码只是我修改过的一些示例代码,如下所示:

#include <windows.h>
#include <GL/glut.h>
#include <iostream>
using namespace std;
const int WIDTH = 600;
const int HEIGHT = 480;
void init();
void display();
void loop();
void init() {
    glClearColor( 0.0, 0.0, 0.0, 1.0 ); /* Set the clear color */
}
/* Displays a black clear screen */
void display() {
    glClear( GL_COLOR_BUFFER_BIT ); /* Clear the screen with the clear color */
    glutSwapBuffers(); /* Double buffering */
}



/* The main function */
int main( int argc, char *argv[] ) {
    /* Glut setup function calls */
    glutInit( &argc, argv );
    glutInitDisplayMode( GLUT_DOUBLE | GLUT_RGB ); /* Use double buffering and RGB colors */
    glutInitWindowPosition( 100, 100 );
    glutInitWindowSize( WIDTH, HEIGHT );
    glutCreateWindow( argv[0] );
    init();
    glutDisplayFunc( display );  /* Call back display function */
    glutMainLoop(); /* Continue drawing the scene */
    return 0;
}

它目前崩溃,但是我删除的第二个#include它工作正常。

更多信息:

似乎没有出现.exe因为某些原因 - 我已经清理了项目并且我已经构建了它甚至重新启动了eclipse。但它没有效果。

enter image description here

These errors are showing up

我尝试过运行一个令人难以置信的基本程序,但仍然使用iostream,GL / glut.h和windows.h,即便如此它仍然崩溃。我认为这意味着它的设置方式有问题。代码,如果你真的需要它:

#include <iostream>
#include <GL/glut.h>
#include <windows.h>
using namespace std;
int main(){

cout<<"hello";
return 0;
}

2 个答案:

答案 0 :(得分:0)

在第一个程序中尝试在windows.h之后添加GL/glut.h

答案 1 :(得分:0)

  1. 没有编译!=“它崩溃了”
  2. “似乎没有为某些原因创建.exe” - 缺少.o文件怎么样?它确实存在于错误消息中。
  3. 来自<iostream>的错误不能由以后包含任何内容引起。你声明你尝试了所有组合,甚至首先展示了<iostream>。这是否会导致相同的错误?如果是这样,您的编译器安装就会中断。