![]() |
Модераторы: Rickert, Alexeis, BorisVorontsov |
![]() ![]() ![]() |
|
Mindstorm |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 9.7.2009 Репутация: нет Всего: нет |
Очень хотелось бы работать с opengl в netbeans. Есть плагин для java - JOGL, но предпочтительнее С++. Поиск в интернетах пока рабочих результатов не дал. Может кто-нибудь уже с этим сталкивался. Подскажите, пожалуйста, как организовать такую связку. Спасибо
![]() |
|||
|
||||
Cheloveck |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1578 Регистрация: 26.7.2008 Где: Тула Репутация: нет Всего: 32 |
а почему бы не использовать напрямую GL.h и GLUT.h? Кстати, в GLUT довольно интересные фичи уже готовые есть. Кроме того, можно прикрутить ещё SDL, с ней тоже жизнь становится легче.
-------------------- ![]() |
|||
|
||||
Amp |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 886 Регистрация: 17.2.2009 Репутация: 2 Всего: 17 |
В чем вообще проблема? Настроить проект, прописать пути и подключить библиотеки?
|
|||
|
||||
Mindstorm |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 9.7.2009 Репутация: нет Всего: нет |
Собственно, что я делал. Добавил glut.h к хедерам проекта, в свойства проекта добавил в linker библиотеку glut32 (пробовал и lib, и dll) - не помогло. Выдает следующую ошибку: /usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../i686-pc-cygwin/bin/ld: cannot find -lglut32.
Кстати, пробовал также ложить glut.h к gl.h и glu.h в GL, но что-то оно его там все равно не находит %) |
|||
|
||||
Amp |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 886 Регистрация: 17.2.2009 Репутация: 2 Всего: 17 |
В lib должен лежать .a файл, а не .lib. Сборка glut для mingw ищется по запросу "glut mingw". Скорее всего пакет будет называться freeglut (соответственно линковщику передается -lfreeglut, а также -lopengl32 и наверное еще пара библиотек). По поводу заголовочных файлов - покажи как ты подключаешь glut.h.
|
|||
|
||||
Mindstorm |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 9.7.2009 Репутация: нет Всего: нет |
Я ставлю все это на винду, поэтому я так понимаю у меня .lib, а не .a и должно быть. Я использую компилятор cygwin. glut.h подключаю так: скопировал его в папку с проектом, потом правой кнопкой по папке header files на вкладке проекта -> Add Existing Item и добавляю. Ну и ясное дело потом #include в коде.
Это сообщение отредактировал(а) Mindstorm - 2.9.2010, 14:10 |
|||
|
||||
Mindstorm |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 9.7.2009 Репутация: нет Всего: нет |
Поместил glut.h в C:\cygwin\usr\include\w32api\GL и C:\cygwin\usr\include\. Теперь находит без добавления в проект, просто через директиву #include <GL/glut.h>
glut32.h поместил в C:\Windows\system32, но ошибка осталась. |
|||
|
||||
Amp |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 886 Регистрация: 17.2.2009 Репутация: 2 Всего: 17 |
Дело не в ОС, а в компиляторе. Cygwin использует gcc, соответственно libname.a, который должен лежать в тех путях, по которым ищет библиотеки линковщик. Это сообщение отредактировал(а) Amp - 2.9.2010, 15:15 |
|||
|
||||
Mindstorm |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 9.7.2009 Репутация: нет Всего: нет |
Наконец-то нашел эту библиотеку - libglut32win.a. Поместил файлик в c:\cygwin\lib\. Указал библиотеку в linker (местонахождение самого .a файла), также пробовал подключать через option -lglut32win. В обоих случаях библиотека находиться, но возникает куча ошибок типа: undefined reference to `_glClear@4'. При чем как видим не только для glut* функций, а и для gl* - ничего не понимаю. Попытка указать в linker -lglut -lGL -lGLU (это решало проблему в KDevelop под Linux) приводит к ошибкам:
/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../i686-pc-cygwin/bin/ld: cannot find -lglut /usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../i686-pc-cygwin/bin/ld: cannot find -lGL /usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../i686-pc-cygwin/bin/ld: cannot find -lGLU Библиотек по таким путям правда нет, как и самих таких путей. В Линуксе они наверно были. Кстати, в ошибке все функции имеют символ подчеркивания в начале undefined reference to `_glutInitWindowPosition', хотя в файле glut.h они идут без него. И опять же, откуда вообще ошибки для функций, к. входят в gl.h? Это сообщение отредактировал(а) Mindstorm - 2.9.2010, 20:02 |
|||
|
||||
Amp |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 886 Регистрация: 17.2.2009 Репутация: 2 Всего: 17 |
Рассказывай, как подключаешь библиотеки. Что куда прописываешь. Нетбинс давно не видел, но должно быть как-то так http://forums.netbeans.org/post-58830.html |
|||
|
||||
Mindstorm |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 9.7.2009 Репутация: нет Всего: нет |
да, я читал этот топик. Подключаю, как сказано в посте №2. Хотя libglut32win.a подключал и как в посте №3.
Сейчас подключение библиотек выглядит вот так: ![]() В итоге ошибки остались только для glut* функций. undefined reference to `_glutSwapBuffers' Спасибо за участие) Это сообщение отредактировал(а) Mindstorm - 2.9.2010, 20:35 |
|||
|
||||
Mindstorm |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 9.7.2009 Репутация: нет Всего: нет |
Нашел статью cygwin + opengl в к. говорится о том, что дополнительно необходимо поставить сервер x11. Но я качал по ссылке отсюда http://www.opengl.org/resources/libraries/...ads.php#windows и тут сказано:
Это сообщение отредактировал(а) Mindstorm - 2.9.2010, 20:52 |
|||
|
||||
Amp |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 886 Регистрация: 17.2.2009 Репутация: 2 Всего: 17 |
Меня смущает, что библиотеки перечислены через -l. Этот ключ линковщика и в принципе никак не должен фигурировать в настройках проекта - IDE -l сама потом подставит при вызове. Версия нетбинса какая?
|
|||
|
||||
Mindstorm |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 9.7.2009 Репутация: нет Всего: нет |
Убрал ключи, сбилдил. После билда ключи сами появились, результат тотже. Версия netbeans 6.9.1.
Я так смотрю, что большинство подобных ошибок, обсуждаемых на форумах связаны как раз-таки с cygwin, в то время как для mingw есть step-by-step туториалы. Наверно я просто попробую остановиться на mingw. Это сообщение отредактировал(а) Mindstorm - 3.9.2010, 21:36 |
|||
|
||||
Mindstorm |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 9.7.2009 Репутация: нет Всего: нет |
yeah!!! It's up and working
![]() С mingw дела пошли намного веселее. Вот что я делал (может кому пригодится): 1. Загрузил mingw с офф-сайта (перенаправление на sourcefourge.net) 2. Загрузил winglut (glut.h, libglut32win.a, glut32.dll) 3. Поставил mingw в C:\, отметив при установке как минимум С++ и msys. 4. Распаковал winglut и поместил: glut.h в C:\mingw\include\GL; libglut32win.a в C:\mingw\lib; glut32.dll в C:\windows\system32. 5. Добавил в переменную окружения Path строку ";C:\MinGW\bin\;C:\MinGW\msys\1.0\bin\". 6. Затем, если компилятор не определится автоматически (после указания переменных окружения вообще-то должен), то настраиваем вот так: ![]() 7. Чуть не забыл. В linker прописываем следующие библиотеки: -lglut32win -lopengl32 -lgdi32 -lglu32. Как это сделать можно прочитать здесь в посте №2. Билдим, запускаем - все должно работать. Это сообщение отредактировал(а) Mindstorm - 3.9.2010, 23:30 |
|||
|
||||
![]() ![]() ![]() |
Вы можете найти полезным что... | |
|
|
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Мультимедия, OpenGL/DirectX | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |