minGW мне было интересно

Предыдущая тема Следующая тема Перейти вниз

minGW мне было интересно

Сообщение  Eric-S в Пн Авг 25, 2008 11:06 am

Я уже давно собирался с этим компилятором покапаться. Но он у меня то не ставился, то ещё чего-то. А сегодня пошло.
Скачал я пакетик с офсайта
http://mingw.org.
И установил его.

Чисто сам набор файлов наводит на очень интересные мысли. Все файлы именуються анологично с freebasic или наоборот.
Библиотеки lib*.a и т.п. gпричём оно должно быть полностью совместимо!

mingw это изночально было расширение к cgiwin, но сейчас это больше чем порт gcc.

Я ещё не очень разобрался,в платформах.
Очень может быть, что fb только под windows использует mingw, а под никсами родной gcc. Если кто знает, просвятите.


Но мои изыскания пошли дальше, простенькая прога, компилю в нативный код... Синтаксис ужасно знакомый.

Код:

#include <windows.h>

int WINAPI WinMain (HINSTANCE hInstance,
HINSTANCE hPrevInstance,
PSTR szCmdLine,
int iCmdShow)
{
MessageBox (NULL, "Hello", "Hello Demo", MB_OK);
return (0);
}


Компилю:

gcc -c hello.c
gcc -o hello hello.o -mwindows

И после этого пусть мне не говорят, что freebasic отстой. Тем самым они замахиваються на большее! Это ведь gcc, а значит и linux вообще!

Eric-S

Сообщения : 738
Дата регистрации : 2008-08-06
Возраст : 34
Откуда : Россия, Санкт-Петербург

Посмотреть профиль http://eric50.narod.ru

Вернуться к началу Перейти вниз

Re: minGW мне было интересно

Сообщение  Gena в Сб Янв 31, 2009 5:43 pm

А есть какая - нибуть среда разработки? (а то так очень неудобно Блокнот -> Батник -> Программа, а если не работает, то сиди, гадай :-( )
///////////////////////////////
Нашёл:
http://sourceforge.net/project/downloading.php?group_id=2435&use_mirror=freefr&filename=MinGW-5.1.4.exe&84348233
Dev-C++ называется.
Только есть одна странность: при компиляции по f9 (после указания нужного компилятора) запускается программа с фоновым консольным окном -не знаю пока как устранить.
И ещё: чё-то никак не могу инициализировать графику (знаю про initgraph, но не работает) Подскажите, если вы используете графику в С++

Gena

Сообщения : 182
Дата регистрации : 2008-11-05
Возраст : 24
Откуда : Москва

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: minGW мне было интересно

Сообщение  Gena в Сб Янв 31, 2009 10:44 pm

Упс, ошибочка вышла - там какая-то странность с компиляцией - нужны другие файлы .exe =(.
Eric-s, не подскажите, какую среду вы используете?

Gena

Сообщения : 182
Дата регистрации : 2008-11-05
Возраст : 24
Откуда : Москва

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: minGW мне было интересно

Сообщение  Eric-S в Вс Фев 01, 2009 12:13 am

Как я уже писал, я на c только балуюсь.
Для minGW подходит codeblock
http://www.codeblocks.org
Мне его рекомендовали. В принципе я согласен, мозгов у него больше. Хотябы потому, что он сам попытаеться найти компилятор.

Но для моих играний, прекрасно подходит блокнот и батник. Не знаю, но все эти среды разработки меня достают.

Инициализация графики? Простите, но тут я не советчик. Делаю либо консольные утилитки либо dll.

Если не хватает файлов, то...
Я скачал MinGW-5.1.4.exe это inec plugin, а он уже качает с овсайта всё что мне нужно и ставит компилятор.

Eric-S

Сообщения : 738
Дата регистрации : 2008-08-06
Возраст : 34
Откуда : Россия, Санкт-Петербург

Посмотреть профиль http://eric50.narod.ru

Вернуться к началу Перейти вниз

Re: minGW мне было интересно

Сообщение  Gena в Вс Фев 01, 2009 4:37 pm

Вообщем я скачал codeblocks, настроил его на деланье программок, написанных на С, но не знаю что нужно, что б делать программы, написанные на C++. (если знаете, то пожалуста разметите свой скриншот на Settings -> Compiler and Debugger -> Toolchain executables)

Gena

Сообщения : 182
Дата регистрации : 2008-11-05
Возраст : 24
Откуда : Москва

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: minGW мне было интересно

Сообщение  ShenZN в Пн Фев 02, 2009 10:37 am


ShenZN

Сообщения : 155
Дата регистрации : 2008-02-18
Откуда : Ukraine

Посмотреть профиль http://lodestar-game.narod.ru

Вернуться к началу Перейти вниз

Re: minGW мне было интересно

Сообщение  Gena в Пн Фев 02, 2009 4:45 pm

Благодарю. Но у меня почему-то и в Dev-C и в Code::Blocks есть ошибка undefined reference to "gl .... "
Не может почему-то вызывать эти ф-ии (ошибка только с вызовом внешних ф-ий). У вас такое было? И как это решить?

Gena

Сообщения : 182
Дата регистрации : 2008-11-05
Возраст : 24
Откуда : Москва

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: minGW мне было интересно

Сообщение  Gena в Пн Фев 02, 2009 6:11 pm

Всё путём, постепенно привыкаю к С++ =). (вопрос выше разрешился)

Gena

Сообщения : 182
Дата регистрации : 2008-11-05
Возраст : 24
Откуда : Москва

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: minGW мне было интересно

Сообщение  Gena в Пн Фев 02, 2009 7:34 pm

Однако тут же возник другой: как в Code::Blocks сделать так, что б программа запускалась в режиме fullscreen?
Или это надо указать в коде (вот один пример, который я юзаю)
Код:
#include <stdlib.h>

/* подключаем библиотеку GLUT */
#include <gl/glut.h>

/* начальная ширина и высота окна */
GLint Width = 1024, Height = 768;

/* размер куба */
const int CubeSize = 200;

/* эта функция управляет всем выводом на экран */
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_RGBA);
    glutInitWindowSize(Width, Height);
    glutCreateWindow("Red square example");

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

    glutMainLoop();
}


И ещё один вопрос: как в Code::Blocks включить поддержку продолжения строки (условно говоря - чтоб появлялся тип необходимых данных при вводе комманды)

Gena

Сообщения : 182
Дата регистрации : 2008-11-05
Возраст : 24
Откуда : Москва

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: minGW мне было интересно

Сообщение  Спонсируемый контент


Спонсируемый контент


Вернуться к началу Перейти вниз

Предыдущая тема Следующая тема Вернуться к началу


 
Права доступа к этому форуму:
Вы не можете отвечать на сообщения