1

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

控制台看起来像这样

08:10:17 ** 项目 mapCreator 的配置调试的增量构建 ** 信息:内部构建器用于构建 g++ "-IC:\MinGW\lib\gcc\mingw32\4.6.2\include" "-IC:\ MinGW\lib\gcc\mingw32\4.6.2\include-fixed" "-IC:\MinGW\lib\gcc\mingw32\4.6.2\include\c++" "-IC:\MinGW\lib\gcc\mingw32\ 4.6.2\include\c++\backward" "-IC:\MinGW\lib\gcc\mingw32\4.6.2\include\c++\mingw32" "-IC:\MinGW\include" -O0 -g3 -Wall -c -f消息长度=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\include\c++/bits/stl_algobase.h:378:错误:“__is_trivial”没有依赖于模板参数的参数,因此声明“__is_trivial” ' 必须可用

C:\MinGW\lib\gcc\mingw32\4.6.2\include\c++/bits/stl_algobase.h:378:注意:(如果您使用'-fpermissive',G++ 将接受您的代码,但允许使用不推荐使用未声明的名称)

C:\MinGW\lib\gcc\mingw32\4.6.2\include\c++/bits/stl_algobase.h:383: 错误:'__simple' 不能出现在常量表达式中

C:\MinGW\lib\gcc\mingw32\4.6.2\include\c++/bits/stl_algobase.h:384:错误:模板参数 2 无效

C:\MinGW\lib\gcc\mingw32\4.6.2\include\c++/bits/stl_algobase.h: 在函数'BI2 std::_copy_move_backward_a(_BI1, _BI1, _BI2)'中: C:\MinGW\lib\gcc \mingw32\4.6.2\include\c++/bits/stl_algobase.h:573: 错误: ')' 标记之前的预期主表达式

C:\MinGW\lib\gcc\mingw32\4.6.2\include\c++/bits/stl_algobase.h:573:错误:“__is_trivial”没有依赖于模板参数的参数,因此声明“__is_trivial” ' 必须可用

C:\MinGW\lib\gcc\mingw32\4.6.2\include\c++/bits/stl_algobase.h:578: 错误:'__simple' 不能出现在常量表达式中

C:\MinGW\lib\gcc\mingw32\4.6.2\include\c++/bits/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。但它没有任何效果。

在此处输入图像描述

这些错误正在出现

我尝试过运行一个非常基本的程序,但仍在使用 iostream、GL/glut.h 和 windows.h,即使这样它仍然崩溃。我认为这意味着它的设置方式有问题。如果您确实需要,请编写代码:

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

cout<<"hello";
return 0;
}
4

2 回答 2

0

尝试在第一个程序中包含windows.hafter 。GL/glut.h

于 2013-05-16T00:22:42.530 回答
0
  1. 不编译!=“它崩溃了”
  2. “似乎由于某种原因没有创建 .exe” - 缺少 .o 文件怎么样?它实际上在错误消息中。
  3. 错误<iostream>不能由以后包含任何内容引起。你说你尝试了每一个组合,甚至显示包括<iostream>第一个。这会导致同样的错误吗?如果是这样,您的编译器安装已损坏。
于 2013-05-16T10:28:49.863 回答