Модераторы: bsa

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> C++ не поддерживает int по умолчанию 
:(
    Опции темы
baltushka
Дата 8.6.2009, 22:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 8.6.2009

Репутация: нет
Всего: нет



Моя вторая прога на С - пример из очередного учебника
Цитата

#include <iostream>
#include "stdafx.h"
#include <stdlib.h>
#include <gl/glut.h>
GLint Width = 512, Height = 512;
const int CubeSize = 200;

using namespace std;

void Display(void)
{
    int left, right, top, bottom;

    left  = (Width - CubeSize) / 2;
    right = left + CubeSize;
    bottom = (Height - CubeSize) / 2;
    top = bottom + CubeSize;

    glClearColor(0, 0, 0, 1);
    glClear(GL_COLOR_BUFFER_BIT);
    
    glColor3ub(255,0,0);
    glBegin(GL_QUADS);
      glVertex2f(left,bottom);
      glVertex2f(left,top);
      glVertex2f(right,top);
      glVertex2f(right,bottom);
    glEnd();

    glFinish();
}
void Reshape(GLint w, GLint h)
{
    Width = w;
    Height = h;

    /* устанавливаем размеры области отображения */
    glViewport(0, 0, w, h);

    /* ортографическая проекция */
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    glOrtho(0, w, 0, h, -1.0, 1.0);

    glMatrixMode(GL_MODELVIEW);
    glLoadIdentity();
}
void Keyboard(unsigned char key, int x, int y)
{
#define ESCAPE '\033'

    if( key == ESCAPE )
        exit(0);
}


main(int argc, char *argv[])
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_RGB);
    glutInitWindowSize(Width, Height);
    glutCreateWindow("Red square example");

    glutDisplayFunc(Display);
    glutReshapeFunc(Reshape);
    glutKeyboardFunc(Keyboard);

    glutMainLoop();
}


компилятор выдает ошибку "C++ не поддерживает int по умолчанию". подскажите, как исправить??  
Заранее спасибо!!
PM MAIL   Вверх
586
Дата 8.6.2009, 22:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2243
Регистрация: 8.5.2006

Репутация: 8
Всего: 146



Какой средой программирования пользуешься?

Цитата(baltushka @  8.6.2009,  23:27 Найти цитируемый пост)
компилятор выдает ошибку "C++ не поддерживает int по умолчанию". подскажите, как исправить??  

поменяй у исходника расширение .cpp на .c

Добавлено через 2 минуты и 34 секунды
или исправь строку:
int main(int argc, char *argv[])
PM   Вверх
Курсант
Дата 8.6.2009, 22:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 338
Регистрация: 21.2.2009
Где: Балашиха или Воро неж

Репутация: 1
Всего: 4



Боюсь ошибиться, но это скорее всего значит что компилятор не может понять, какой тип данных использовать для объявляемых переменных, и говорит что по умолчанию сделать их типом int он не может. Объявите их явно...

А еще там должна быть строка, в которой у Вас ошибка, по этой строке можно найти Вашу причину... Те самые неправильно объявленные переменные...

ИМХО...

Добавлено через 49 секунд
на две минуты опоздал...
PM ICQ Skype   Вверх
586
Дата 8.6.2009, 22:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2243
Регистрация: 8.5.2006

Репутация: 8
Всего: 146



Цитата(baltushka @  8.6.2009,  23:27 Найти цитируемый пост)
Моя вторая прога на С - пример из очередного учебника

Цитата(baltushka @  8.6.2009,  23:27 Найти цитируемый пост)
#include <iostream>

Цитата(baltushka @  8.6.2009,  23:27 Найти цитируемый пост)
using namespace std;

Ну и чего в проге на Си присутствуют C++ заголовки. Это уже прога на C++.
Исправь строку int main(int argc, char *argv[]) и ошибка исправится.
PM   Вверх
baltushka
Дата 8.6.2009, 22:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 8.6.2009

Репутация: нет
Всего: нет



Цитата(586 @  8.6.2009,  22:34 Найти цитируемый пост)
Какой средой программирования пользуешься?

 да, С++ в visual c++. Исправила, выдал кучу ошибок:

Цитата

1>Компоновка...
1>first.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__glFinish@0 в функции "void __cdecl Display(void)" (?Display@@YAXXZ)
1>first.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__glEnd@0 в функции "void __cdecl Display(void)" (?Display@@YAXXZ)
1>first.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__glVertex2f@8 в функции "void __cdecl Display(void)" (?Display@@YAXXZ)
1>first.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__glBegin@4 в функции "void __cdecl Display(void)" (?Display@@YAXXZ)
1>first.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__glColor3ub@12 в функции "void __cdecl Display(void)" (?Display@@YAXXZ)
1>first.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__glClear@4 в функции "void __cdecl Display(void)" (?Display@@YAXXZ)
1>first.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__glClearColor@16 в функции "void __cdecl Display(void)" (?Display@@YAXXZ)
1>first.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__glOrtho@48 в функции "void __cdecl Reshape(int,int)" (?Reshape@@YAXHH@Z)
1>first.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__glLoadIdentity@0 в функции "void __cdecl Reshape(int,int)" (?Reshape@@YAXHH@Z)
1>first.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__glMatrixMode@4 в функции "void __cdecl Reshape(int,int)" (?Reshape@@YAXHH@Z)
1>first.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__glViewport@16 в функции "void __cdecl Reshape(int,int)" (?Reshape@@YAXHH@Z)
1>first.obj : error LNK2019: ссылка на неразрешенный внешний символ _glutMainLoop@0 в функции _main
1>first.obj : error LNK2019: ссылка на неразрешенный внешний символ _glutKeyboardFunc@4 в функции _main
1>first.obj : error LNK2019: ссылка на неразрешенный внешний символ _glutReshapeFunc@4 в функции _main
1>first.obj : error LNK2019: ссылка на неразрешенный внешний символ _glutDisplayFunc@4 в функции _main
1>first.obj : error LNK2019: ссылка на неразрешенный внешний символ _glutCreateWindow@4 в функции _main
1>first.obj : error LNK2019: ссылка на неразрешенный внешний символ _glutInitWindowSize@8 в функции _main
1>first.obj : error LNK2019: ссылка на неразрешенный внешний символ _glutInitDisplayMode@4 в функции _main
1>first.obj : error LNK2019: ссылка на неразрешенный внешний символ _glutInit@8 в функции _main
1>C:\Projects\C++\first\Debug\first.exe : fatal error LNK1120: 19 неразрешенных внешних элементов
1>Журнал построения был сохранен в "file://c:\Projects\C++\first\first\Debug\BuildLog.htm"
1>first - ошибок 20, предупреждений 0

PM MAIL   Вверх
586
Дата 8.6.2009, 23:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2243
Регистрация: 8.5.2006

Репутация: 8
Всего: 146



Исходник у вас скомпилировался без ошибок. Ошибки выдаёт компановщик.
Нужно указать lib-файлы.
Код
#include <iostream>
#include "stdafx.h"
#include <stdlib.h>
#include <gl/glut.h>
#pragma comment (lib, "OpenGL32.lib")
#pragma comment (lib, "GLu32.lib")
#pragma comment (lib, "GLaux.lib")

PM   Вверх
baltushka
Дата 8.6.2009, 23:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 8.6.2009

Репутация: нет
Всего: нет



сорри, за долгий ответ, но опять ошибки!

Цитата

1>first.obj : error LNK2019: ссылка на неразрешенный внешний символ _glutMainLoop@0 в функции _main
1>first.obj : error LNK2019: ссылка на неразрешенный внешний символ _glutKeyboardFunc@4 в функции _main
1>first.obj : error LNK2019: ссылка на неразрешенный внешний символ _glutReshapeFunc@4 в функции _main
1>first.obj : error LNK2019: ссылка на неразрешенный внешний символ _glutDisplayFunc@4 в функции _main
1>first.obj : error LNK2019: ссылка на неразрешенный внешний символ _glutCreateWindow@4 в функции _main
1>first.obj : error LNK2019: ссылка на неразрешенный внешний символ _glutInitWindowSize@8 в функции _main
1>first.obj : error LNK2019: ссылка на неразрешенный внешний символ _glutInitDisplayMode@4 в функции _main
1>first.obj : error LNK2019: ссылка на неразрешенный внешний символ _glutInit@8 в функции _main
1>C:\Projects\C++\first\Debug\first.exe : fatal error LNK1120: 8 неразрешенных внешних элементов
1>Журнал построения был сохранен в "file://c:\Projects\C++\first\first\Debug\BuildLog.htm"
1>first - ошибок 9, предупреждений 0
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========

PM MAIL   Вверх
azesmcar
Дата 8.6.2009, 23:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 52
Всего: 211



baltushka

Это ошибки линкера, подключите библиотеку glut в настройках проекта.
PM   Вверх
baltushka
Дата 9.6.2009, 00:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 8.6.2009

Репутация: нет
Всего: нет



Цитата(azesmcar @ 8.6.2009,  23:49)
baltushka

Это ошибки линкера, подключите библиотеку glut в настройках проекта.

Ох!! Мне кажется, я не умею(((((
А еще кажется, что ее попросту нет на моем компе, и что ее надо скачать дополнительно и что-то сделать с ней, дабы она была совместима с Borland.. это так??
PM MAIL   Вверх
andrew_121
Дата 9.6.2009, 00:04 (ссылка) |  (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 10
Всего: 33



Ужасно видеть отчет компилятора на русском))) Сразу теряешься. Не можешь понять, кто выдает такие ошибки, юзер перевел, или компилер инопланетный smile  smile  smile 
Сам до недавнего времени не знал про сущевствование русских версий сред разработки. Скачал недавно MSVS-2008 RUS, установил, ужаснулся, снес.
Это я так, не по теме, мысли вслух.


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
baltushka
Дата 9.6.2009, 00:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 8.6.2009

Репутация: нет
Всего: нет



andrew_121 ,
согласна, есть в этом что-то чуждое нашему менталиетту, да и не спасает "понятная" ругань((
А по теме что-нибудь можно?  smile 
PM MAIL   Вверх
andrew_121
Дата 9.6.2009, 00:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 10
Всего: 33



Цитата(baltushka @  9.6.2009,  00:01 Найти цитируемый пост)
дабы она была совместима с Borland

А при чем тут Борланд? У тебя же Microsoft Visual Studio. Я правильно понял?


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
baltushka
Дата 9.6.2009, 00:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 8.6.2009

Репутация: нет
Всего: нет



Ой, да! Это мне на глаза из Delphi попалось  smile

Добавлено через 12 минут и 51 секунду
Я нашла glut.h, glut32.dll и glut32.lib и положила в lib и include\GL. Как программно подключить библиотеку?
PM MAIL   Вверх
Dmi3ev
Дата 9.6.2009, 00:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1698
Регистрация: 28.11.2007

Репутация: 13
Всего: 41



Цитата

#include <iostream>
#include "stdafx.h"
#include <stdlib.h>
#include <gl/glut.h>
#pragma comment (lib, "OpenGL32.lib")
#pragma comment (lib, "GLu32.lib")
#pragma comment (lib, "GLaux.lib")

а еще можно качнуть
http://freeglut.sourceforge.net/index.php#download
хз, странно как-то, 
Цитата

пример из очередного учебника

обычно в них пишут, что надо сначала скачать вот это, вот это, а потом садиться... поэтому можно поискать ответ там


--------------------

PM MAIL   Вверх
586
Дата 9.6.2009, 00:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2243
Регистрация: 8.5.2006

Репутация: 8
Всего: 146



#pragma comment (lib, "glut32.lib")

PM   Вверх
baltushka
Дата 9.6.2009, 00:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 8.6.2009

Репутация: нет
Всего: нет



Цитата(586 @ 9.6.2009,  00:29)
#pragma comment (lib, "glut32.lib")

Даа!! Подключила, заработало!!! Спасибо большое!!!!! Вы спасаете мою душу!! 
PM MAIL   Вверх
jhonyxakep
Дата 10.6.2009, 13:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Divide Et Impera
**


Профиль
Группа: Участник
Сообщений: 983
Регистрация: 7.4.2009
Где: Что, Когда?

Репутация: 1
Всего: 8



И это всё из-за библиотек? Не... Руские компилеры не буду никогда ставить!
PM MAIL ICQ   Вверх
mes
Дата 10.6.2009, 14:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Цитата(jhonyxakep @  10.6.2009,  12:30 Найти цитируемый пост)
Не... Руские компилеры не буду никогда ставить! 

 smile  smile 



--------------------
PM MAIL WWW   Вверх
jonie
Дата 10.6.2009, 21:58 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 6
Всего: 118



Цитата(baltushka @ 9.6.2009,  00:10)
Ой, да! Это мне на глаза из Delphi попалось  smile

Добавлено @ 00:22
Я нашла glut.h, glut32.dll и glut32.lib и положила в lib и include\GL. Как программно подключить библиотеку?

это вы их куда конкретно запихнули? в виндовсе не принято пихать свои библиотеки например в include папку студии... нужно положить их в подпапку программы например и установить опции проекта так, чтобы он эту папку включал в пути при компиляции и линковке...


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
porshegt3
Дата 28.1.2010, 21:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 28.12.2009
Где: Кировоград

Репутация: -1
Всего: -1



а может надо объявлять не
Код

#include <iostream>

на
Код

#include <iostream.h>

?
Я читал что это имеет смысл...
PM MAIL ICQ Skype   Вверх
andrew_121
Дата 28.1.2010, 22:21 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 10
Всего: 33



Цитата(porshegt3 @  28.1.2010,  21:01 Найти цитируемый пост)
Я читал что это имеет смысл... 

имеет. только наоборот от того что вы читали.


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1140 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.