Модераторы: Rickert, Alexeis, BorisVorontsov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> netbeans + opengl 
V
    Опции темы
Mindstorm
Дата 1.9.2010, 23:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Очень хотелось бы работать с opengl в netbeans. Есть плагин для java - JOGL, но предпочтительнее С++. Поиск в интернетах пока рабочих результатов не дал. Может кто-нибудь уже с этим сталкивался. Подскажите, пожалуйста, как организовать такую связку. Спасибо smile
PM MAIL   Вверх
Cheloveck
Дата 2.9.2010, 09:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



а почему бы не использовать напрямую GL.h и GLUT.h? Кстати, в GLUT довольно интересные фичи уже готовые есть. Кроме того, можно прикрутить ещё SDL, с ней тоже жизнь становится легче.


--------------------
user posted image
PM Jabber   Вверх
Amp
Дата 2.9.2010, 12:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



В чем вообще проблема? Настроить проект, прописать пути и подключить библиотеки?
PM MAIL   Вверх
Mindstorm
Дата 2.9.2010, 13:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 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, но что-то оно его там все равно не находит %)
PM MAIL   Вверх
Amp
Дата 2.9.2010, 14:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



В lib должен лежать .a файл, а не .lib. Сборка glut для mingw ищется по запросу "glut mingw". Скорее всего пакет будет называться freeglut (соответственно линковщику передается -lfreeglut, а также -lopengl32 и наверное еще пара библиотек). По поводу заголовочных файлов - покажи как ты подключаешь glut.h.
PM MAIL   Вверх
Mindstorm
Дата 2.9.2010, 14:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Я ставлю все это на винду, поэтому я так понимаю у меня .lib, а не .a и должно быть. Я использую компилятор cygwin. glut.h подключаю так: скопировал его в папку с проектом, потом правой кнопкой по папке header files на вкладке проекта -> Add Existing Item и добавляю. Ну и ясное дело потом #include в коде.

Это сообщение отредактировал(а) Mindstorm - 2.9.2010, 14:10
PM MAIL   Вверх
Mindstorm
Дата 2.9.2010, 14:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 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, но ошибка осталась.
PM MAIL   Вверх
Amp
Дата 2.9.2010, 15:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Mindstorm @  2.9.2010,  14:09 Найти цитируемый пост)
Я ставлю все это на винду, поэтому я так понимаю у меня .lib, а не .a и должно быть.

Дело не в ОС, а в компиляторе. Cygwin использует gcc, соответственно libname.a, который должен лежать в тех путях, по которым ищет библиотеки линковщик.

Это сообщение отредактировал(а) Amp - 2.9.2010, 15:15
PM MAIL   Вверх
Mindstorm
Дата 2.9.2010, 19:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 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
PM MAIL   Вверх
Amp
Дата 2.9.2010, 20:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Mindstorm @  2.9.2010,  19:39 Найти цитируемый пост)
Попытка указать в linker -lglut -lGL -lGLU (это решало проблему в KDevelop под Linux) приводит к ошибкам

Рассказывай, как подключаешь библиотеки. Что куда прописываешь. Нетбинс давно не видел, но должно быть как-то так http://forums.netbeans.org/post-58830.html
PM MAIL   Вверх
Mindstorm
Дата 2.9.2010, 20:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



да, я читал этот топик. Подключаю, как сказано в посте №2. Хотя libglut32win.a подключал и как в посте №3.
Сейчас подключение библиотек выглядит вот так:
user posted image
В итоге ошибки остались только для glut* функций. undefined reference to `_glutSwapBuffers'

Спасибо за участие)

Это сообщение отредактировал(а) Mindstorm - 2.9.2010, 20:35
PM MAIL   Вверх
Mindstorm
Дата 2.9.2010, 20:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Нашел статью cygwin + opengl в к. говорится о том, что дополнительно необходимо поставить сервер x11. Но я качал по ссылке отсюда http://www.opengl.org/resources/libraries/...ads.php#windows и тут сказано:
Цитата
The most signficant update to GLUT is the integration of the X Window System and Win32 versions of GLUT in a single source tree. GLUT works for either Win32 or X11 now.
 Т.е. вроде как уже можно и не ставить.

Это сообщение отредактировал(а) Mindstorm - 2.9.2010, 20:52
PM MAIL   Вверх
Amp
Дата 3.9.2010, 10:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Меня смущает, что библиотеки перечислены через -l. Этот ключ линковщика и в принципе никак не должен фигурировать в настройках проекта - IDE -l сама потом подставит при вызове. Версия нетбинса какая?
PM MAIL   Вверх
Mindstorm
Дата 3.9.2010, 20:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Убрал ключи, сбилдил. После билда ключи сами появились, результат тотже. Версия netbeans 6.9.1.

Я так смотрю, что большинство подобных ошибок, обсуждаемых на форумах связаны как раз-таки с cygwin, в то время как для mingw есть step-by-step туториалы. Наверно я просто попробую остановиться на mingw.

Это сообщение отредактировал(а) Mindstorm - 3.9.2010, 21:36
PM MAIL   Вверх
Mindstorm
Дата 3.9.2010, 23:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



yeah!!! It's up and working smile
С 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. Затем, если компилятор не определится автоматически (после указания переменных окружения вообще-то должен), то настраиваем вот так:
user posted image
7. Чуть не забыл. В linker прописываем следующие библиотеки: -lglut32win -lopengl32 -lgdi32 -lglu32. Как это сделать можно прочитать здесь в посте №2.
Билдим, запускаем - все должно работать.

Это сообщение отредактировал(а) Mindstorm - 3.9.2010, 23:30
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Вы можете найти полезным что...
Alexeis
Rickert
  • Английская документация по DirectX лежит где-то здесь.
  • Английская документация по OpenGL лежит где-то там.
  • Гейм-дев у нас обсуждают где-то тут

Ждём вас! С уважением, Alexeis, Rickert.

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


 




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


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

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