Как скомпилировать OpenGL(freeglut) с MinGW на С++

277
28 сентября 2017, 15:05

Проекты на С собираю вот так:

gcc -c -o example.o example.c -I"C:\mycpp\include"
gcc -o example.exe example.o -L"C:\mycpp\lib" -lfreeglut -lopengl32 -Wl,--subsystem,windows

Вопрос: Как собрать проект не на С а на С++ если просто поменять gcc на g++ или поменять флаги то или вообще не компилируется или вываливается куча ошибок.

Вопрос: Как скомпилировать именно С++ код?

Answer 1
  1. Наверное, вначале стоит заменить расширение файла с .c на .cpp (или любое другое, которое g++ воспримет за "свое"), иначе придется еще уговаривать его доп. опциями "скушать" этот файл.
  2. В С++ (в отличие от С), используется декорирование имен функций, поэтому каждую функцию из библиотеки для С надо объявлять со словами extern "C" (в начале). Но думаю, что это в заголовочном файле глюта уже сделано за Вас.
  3. Пример из глюта на С++ (он использует STL) с динамической линковкой я собирал так (откуда взял список библиотек - уже точно не помню. Скорее, вычитал в документации):

    g++ sample-1.cpp -o sapmle-1 -lfreeglut -lglu32 -lopengl32 -lwinmm -lgdi32 -Wl,--subsystem,windows

READ ALSO
В чем разница между PID и HANDLE процесса?

В чем разница между PID и HANDLE процесса?

В чем между ними разница и что можно сделать с процессом имея либо PID либо HANDLE?

338
Генерация чисел c++

Генерация чисел c++

Имеется следующий код:

202