Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/29: Рейтинг темы: голосов - 29, средняя оценка - 4.93
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453

freeglut, MinGW

28.11.2012, 01:54. Показов 5702. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Не получается мне в IDE работать. Прочитал несколько туториалов, не помогло
Сделал, все, как тут указано. Скачал freeglut-2.8.0 для MinGW, закинул либы, инклюды, дллки, последние даже в C:\Windows и C:\SysWow64 пихнул. при компиляции даю папку со своим установленным mingw. Сборка проекта - fail.

Code
1
2
3
||=== Test2, Debug ===|
ld.exe||cannot find -lfreeglut|
||=== Build finished: 1 errors, 0 warnings ===|
Смотрю build log:
Кликните здесь для просмотра всего текста
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
-------------- Build: Debug in Test2 ---------------
 
Compiling: main.cpp
Linking console executable: bin\Debug\Test2.exe
d:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible D:\mingw\lib/libfreeglut.a when searching for -lfreeglut
d:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible D:\mingw\lib\libfreeglut.a when searching for -lfreeglut
d:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible d:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../x86_64-w64-mingw32/lib/../lib/libfreeglut.a when searching for -lfreeglut
d:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible d:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../x86_64-w64-mingw32/lib/../lib\libfreeglut.a when searching for -lfreeglut
d:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible d:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../lib/libfreeglut.a when searching for -lfreeglut
d:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible d:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../lib\libfreeglut.a when searching for -lfreeglut
d:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible d:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../x86_64-w64-mingw32/lib/libfreeglut.a when searching for -lfreeglut
d:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible d:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../x86_64-w64-mingw32/lib\libfreeglut.a when searching for -lfreeglut
d:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible d:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../libfreeglut.a when searching for -lfreeglut
d:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible d:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/4.7.0/../../..\libfreeglut.a when searching for -lfreeglut
d:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible D:\mingw\lib/libfreeglut.a when searching for -lfreeglut
d:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible d:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../x86_64-w64-mingw32/lib/../lib/libfreeglut.a when searching for -lfreeglut
d:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible d:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../lib/libfreeglut.a when searching for -lfreeglut
d:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible d:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../x86_64-w64-mingw32/lib/libfreeglut.a when searching for -lfreeglut
d:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible d:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../libfreeglut.a when searching for -lfreeglut
d:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lfreeglut
collect2.exe: error: ld returned 1 exit status
Process terminated with status 1 (0 minutes, 0 seconds)
1 errors, 0 warnings


IDE: CodeBlocks, ОС: Windows, mingw ставил отдельно (сборку от niXman).

Помогите разобраться с причиной, почему не видит либу? Хочу игрушку свою на винде скомпилить, чтоб exe-шник был, своим друзьям разослать)

Не по теме:

А как приятно было компилить в консольке на лине. Хочешь - написал -lglut при компиляции и гуд. Да и в Dev-e проблем с freeglut-ом не было.

0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.11.2012, 01:54
Ответы с готовыми решениями:

Может ли MinGW x64 компилить приложения x32? Или нужно для этого отдельно ещё MinGW х32 качать?
Просто решил поиграться с CodeLite.

Mingw-w64 MinGW TDM-GCC
Всем привет. Хочу понять, существует ли принципиальная разница между Mingw-w64, MinGW и TDM-GCC? Какие плюсы/минусы у этих трех...

Компиляция кода Freeglut
Здравствуйте. Стоит Ubuntu 12.10, компилятор g++ , библиотеку freeglut поставил из репозитория, после чего инклуды появились нужном месте в...

10
 Аватар для Toshkarik
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
28.11.2012, 01:58
MrGluck, эти ошибки означают, что Вы пытаетесь собрать 32 битное приложение с 64 битными библиотеками, или наоборот, что и есть скорей всего, 64 битное приложение с 32 битными библиотеками. В параметрах компиляции напишите -m32

Добавлено через 1 минуту
И еще - если у Вас 64 битный компилятор, то библиотеки нужно было помещать в lib32 а не lib. Да и вообще их лучше держать в отдельной папке, и дописывать путь до них при компиляции.
1
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
28.11.2012, 02:07  [ТС]
Цитата Сообщение от Toshkarik Посмотреть сообщение
MrGluck, эти ошибки означают, что Вы пытаетесь собрать 32 битное приложение с 64 битными библиотеками, или наоборот, что и есть скорей всего, 64 битное приложение с 32 битными библиотеками. В параметрах компиляции напишите -m32

Добавлено через 1 минуту
И еще - если у Вас 64 битный компилятор, то библиотеки нужно было помещать в lib32 а не lib. Да и вообще их лучше держать в отдельной папке, и дописывать путь до них при компиляции.
Закинул заодно libfreeglut.a и libfreeglut_static.a во все папки lib и lib32, что нашел. Указал в ключах -m32, тот же результат.

Добавлено через 2 минуты
Пробовал также добавить либы к проекту таким способом: Project-> Build Options -> Linker settings, там в link libraries указывал путь к данным либам, безуспешно.
0
 Аватар для Toshkarik
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
28.11.2012, 02:08
А где качали? На их сайте только исходники. Думаю Вам стоит собрать библиотеки для Вашей версии компилятора.
1
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
28.11.2012, 02:10  [ТС]
И вообще, почему "skipping incompatible" ? У меня подозрение, что все нормально линкует, а вот сама библиотека не подходит.

Добавлено через 1 минуту
Отсюда брал:
http://www.transmissionzero.co... ith-mingw/
0
 Аватар для Toshkarik
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
28.11.2012, 02:12
Это означает, что библиотека не совместима с линковщиком. Часто такое бывает когда пытаются слинковать библиотеки не предназначены для целевой архитектуры.
1
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
28.11.2012, 02:17  [ТС]
Цитата Сообщение от Toshkarik Посмотреть сообщение
Это означает, что библиотека не совместима с линковщиком. Часто такое бывает когда пытаются слинковать библиотеки не предназначены для целевой архитектуры.
Не подскажете, как она собирается на винде?) На главном сайте инструкция для линя, это то я как-раз знаю. А для не *nix системы инстал не описан
Попробую с исходников скомпилить.
0
 Аватар для Toshkarik
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
28.11.2012, 02:19
И так, собрал из исходников. Пример из приведенной ссылки нормально компилируется и запускается. Могу скинуть архив с библиотекой. Собирал на 4.7.2 сборки niXman`a. На нем точно будет работать, на других - не знаю. И собирал для x86_64.
0
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
28.11.2012, 02:20  [ТС]
Цитата Сообщение от Toshkarik Посмотреть сообщение
И так, собрал из исходников. Пример из приведенной ссылки нормально компилируется и запускается. Могу скинуть архив с библиотекой. Собирал на 4.7.2 сборки niXman`a. На нем точно будет работать, на других - не знаю. И собирал для x86_64.
Буду благодарен
0
 Аватар для Toshkarik
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
28.11.2012, 02:26
MrGluck, как и любые другие программы из исходников. Запускаете sh из MSys, далее в нем заходите в каталог с исходниками и:
Bash
1
2
3
./configure --prefix=C:\freeglut
make
make install
Добавлено через 5 минут
Отправил в личку, так как думаю модераторы не одобрят ссылку на файлообменник. Компилировал этот код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include <stdlib.h>
#include <GL/glut.h>
 
void keyboard(unsigned char key, int x, int y);
void display(void);
 
 
int main(int argc, char** argv)
{
  glutInit(&argc, argv);
  glutCreateWindow("GLUT Test");
  glutKeyboardFunc(&keyboard);
  glutDisplayFunc(&display);
  glutMainLoop();
 
  return EXIT_SUCCESS;
}
 
 
void keyboard(unsigned char key, int x, int y)
{
  switch (key)
  {
    case '\x1B':
      exit(EXIT_SUCCESS);
      break;
  }
}
 
 
void display()
{
  glClear(GL_COLOR_BUFFER_BIT);
 
  glColor3f(1.0f, 0.0f, 0.0f);
 
  glBegin(GL_POLYGON);
    glVertex2f(-0.5f, -0.5f);
    glVertex2f( 0.5f, -0.5f);
    glVertex2f( 0.5f,  0.5f);
    glVertex2f(-0.5f,  0.5f);
  glEnd();
 
  glFlush();
}
С такими ключами:
Bash
1
g++ example.cpp -IC:\freeglut\include -LC:\freeglut\lib -lglut -lopengl32 -o example
1
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
28.11.2012, 02:38  [ТС]
Чертовщина какая-то. Заменил все файлы - результат тот же.
Вот, файл проекта:
Кликните здесь для просмотра всего текста
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<CodeBlocks_project_file>
    <FileVersion major="1" minor="6" />
    <Project>
        <Option title="test5" />
        <Option pch_mode="2" />
        <Option compiler="gcc" />
        <Build>
            <Target title="Debug">
                <Option output="bin\Debug\test5" prefix_auto="1" extension_auto="1" />
                <Option working_dir="D:\mingw\bin" />
                <Option object_output="obj\Debug\" />
                <Option type="1" />
                <Option compiler="gcc" />
                <Compiler>
                    <Add option="-g" />
                </Compiler>
            </Target>
            <Target title="Release">
                <Option output="bin\Release\test5" prefix_auto="1" extension_auto="1" />
                <Option working_dir="D:\mingw\bin" />
                <Option object_output="obj\Release\" />
                <Option type="0" />
                <Option compiler="gcc" />
                <Compiler>
                    <Add option="-O2" />
                </Compiler>
                <Linker>
                    <Add option="-s" />
                </Linker>
            </Target>
        </Build>
        <Compiler>
            <Add option="-Wall" />
            <Add directory="D:\mingw\include" />
        </Compiler>
        <Linker>
            <Add library="freeglut" />
            <Add library="opengl32" />
            <Add library="glu32" />
            <Add library="winmm" />
            <Add library="gdi32" />
            <Add directory="D:\mingw\lib" />
        </Linker>
        <Unit filename="main.cpp" />
        <Extensions>
            <code_completion />
            <debugger />
        </Extensions>
    </Project>
</CodeBlocks_project_file>

По указанным путям лежат все нужные либы.
Завтра попробую библиотеку сам скомпилить, мб ругается на архитектуру. Не выйдет - поставлю Dev, там freeglut ставился в пару кликов из самой IDE.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.11.2012, 02:38
Помогаю со студенческими работами здесь

FreeGlut: проверка выпуклости многоугольника
С клавиатуры задаются n пар координат многоугольника. Написать программу проверки его выпуклости.

Ошибка компиляции библиотеки freeglut-3.2.1
Установил MSYS2 + Mingw64, и захотел скомпилировать библиотеку. Нашел в интернете инструкцию по сборке freeglut: ...

Кириллица в openGL (glut, freeglut) или (!) альтернатива
Ребят уже целый вечер гуглю. Недельку назад начал плотно изучать C++. С графикой вообще интересно, Арканоиды там всякие и т.п. И вот...

Freeglut Как захватить клавишу не по char а по ключу на клавиатуре?
Допустим если я переключил язык на русский и врубил caps lock glutKeyboardFunc захватывает русские заглавные буквы, а мне нужны ключи,...

Mingw studio
Мне очень нравится Mingw Studio, не хотелось бы переходить на другую среду, но недавно узнал, что вшитая версия компилятора там...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru