Russian Qt Forum
Ноябрь 24, 2024, 01:56 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 [2] 3   Вниз
  Печать  
Автор Тема: Приложение Hello, World! для Bullet в Qt  (Прочитано 19626 раз)
8Observer8
Гость
« Ответ #15 : Апрель 12, 2014, 17:23 »

Вы готовые библиотеки скачивали или сами собирали. Если второе, то каким компилятором (из какой директории)?

- скачал, распаковал
- зашёл в папку: C:\bullet-2.82-r2704
- ввёл команды:
cmake -DINSTALL_LIBS=ON
make -j4
make install
Как в инструкции: http://bulletphysics.org/mediawiki-1.5.8/index.php/Installation
Записан
8Observer8
Гость
« Ответ #16 : Апрель 12, 2014, 17:28 »

Правда, когда вводил команду cmake, то забыл '-G'. Надеюсь, это не из-за этого. Что ключ '-G' обозначает?
Цитировать
-G <generator-name>         = Specify a makefile generator.
Записан
8Observer8
Гость
« Ответ #17 : Апрель 12, 2014, 17:33 »

Сейчас попробовал выполнить такие команды:

cmake -G "Unix Makefiles" -DINSTALL_LIBS=ON
make -j4
make install

Ничего не изменилось.
Записан
8Observer8
Гость
« Ответ #18 : Апрель 12, 2014, 17:36 »

Я из этой директории выполняю команды:

« Последнее редактирование: Апрель 12, 2014, 17:39 от 8Observer8 » Записан
8Observer8
Гость
« Ответ #19 : Апрель 12, 2014, 17:43 »

Может здесь что-то не так?

Цитировать
C:\bullet-build>cmake /cygdrive/c/bullet-2.82-r2704 -G "Unix Makefiles" -DINSTALL_LIBS=ON
CMake Warning at /usr/share/cmake-2.8.11.2/Modules/Platform/CYGWIN.cmake:15 (message):
  CMake no longer defines WIN32 on Cygwin!

  (1) If you are just trying to build this project, ignore this warning or
  quiet it by setting CMAKE_LEGACY_CYGWIN_WIN32=0 in your environment or in
  the CMake cache.  If later configuration or build errors occur then this
  project may have been written under the assumption that Cygwin is WIN32.
  In that case, set CMAKE_LEGACY_CYGWIN_WIN32=1 instead.

  (2) If you are developing this project, add the line

    set(CMAKE_LEGACY_CYGWIN_WIN32 0) # Remove when CMake >= 2.8.4 is required

  at the top of your top-level CMakeLists.txt file or set the minimum
  required version of CMake to 2.8.4 or higher.  Then teach your project to
  build on Cygwin without WIN32.
Call Stack (most recent call first):
  /usr/share/cmake-2.8.11.2/Modules/CMakeSystemSpecificInformation.cmake:36 (include)
  CMakeLists.txt:7 (PROJECT)


-- Could NOT find OpenGL (missing:  OPENGL_gl_LIBRARY)
OPENGL NOT FOUND
-- WARNING: you are using the obsolete 'GLU' package, please use 'OpenGL' instead
-- Could NOT find GLUT (missing:  GLUT_glut_LIBRARY GLUT_INCLUDE_DIR)
GLUT NOT FOUND
-- Configuring done
-- Generating done
-- Build files have been written to: /cygdrive/c/bullet-2.82-r2704

C:\bullet-build>
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #20 : Апрель 12, 2014, 17:52 »

Думаю, что по умолчанию у вас стоит компилятор из cygwin и bullet собирался им, а вашу программу вы собираете компилятором из поставки Qt. Может из-за этого не линкуется.
Попробуйте собирать и библиотеку и программу одним компилятором.
Записан
8Observer8
Гость
« Ответ #21 : Апрель 12, 2014, 17:55 »

Спасибо! Надеюсь, прокатит Улыбающийся
Записан
kibsoft
Хакер
*****
Offline Offline

Сообщений: 625


Просмотр профиля WWW
« Ответ #22 : Апрель 12, 2014, 20:34 »

Под виндой еще можно так попробовать:
Цитировать
LIBS += -L$${BULLET_LOCATION}/lib  -llibBulletDynamics

Т.е. полное название файла.
Записан

http://kibsoft.ru - Download the Qt Media Encoding Library here

The apps that were written using QtMEL:
http://srecorder.com - Screen recording software
8Observer8
Гость
« Ответ #23 : Апрель 13, 2014, 08:29 »

Под виндой еще можно так попробовать:
Цитировать
LIBS += -L$${BULLET_LOCATION}/lib  -llibBulletDynamics

Т.е. полное название файла.
Там фишка в том, что если имя написано неверно, то выводится сообщение "не могу найти"

Нашёл подробную пошаговую инструкцию: http://bulletphysics.org/mediawiki-1.5.8/index.php/Creating_a_project_from_scratch

Установил msys и указал его в инструкции выше.

Генерация выполняется (для этого отключаю в настройках Glut и построение всех примеров с Demos). Но по указанному пути в папке lib, для результирующих файлов - пусто.

Эта проблема слишком тяжёлая для меня. Оставлю до лучших времён.
« Последнее редактирование: Апрель 13, 2014, 08:31 от 8Observer8 » Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #24 : Апрель 13, 2014, 08:54 »

Можно просто прямолинейно подключать исходники/хедеры в проект, работает. Нужна только либа  для OpenGL. Прекрасный проект, по исходникам можно много чему научиться. 
Записан
8Observer8
Гость
« Ответ #25 : Апрель 13, 2014, 10:13 »

Спасибо огромное! Буду добавлять исходники по мере требования (выскакивания ошибок). Когда-то же они закончатся Улыбающийся За одно, лучше познакомлюсь со структурой проекта. Это прекрасное решение, так как даёт возможность продвигаться дальше Улыбающийся

У меня такое ощущение, что не все библиотеки собрались. Вот какие есть: -lBulletSoftBody -lBulletDynamics -lBulletCollision -lLinearMath

А в проекте "Hello, World" подключается: #include <btBulletDynamicsCommon.h> Если посмотреть в исходники, то там есть такие папки:


Я предполагаю, что должна была собраться ещё библиотека "-lBulletDynamicsCommon". Как раз в релизе и выскакивает сообщение, что невозможно найти реализацию одной из функций из этой библиотеки.

Хорошо, что в TotalCommander есть поиск текста по содержимому файлов. Добавлять исходников много приходится, но радует то, что  в Bullet не так уж много файлов Улыбающийся
« Последнее редактирование: Апрель 13, 2014, 10:25 от 8Observer8 » Записан
8Observer8
Гость
« Ответ #26 : Апрель 13, 2014, 10:27 »

Я в предыдущем сообщении, по-моему, глупость написал. Bullet3Common не имеет никакого отношения к btBulletDynamicsCommon.
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #27 : Апрель 13, 2014, 11:06 »

У меня такое ощущение, что не все библиотеки собрались. Вот какие есть: -lBulletSoftBody -lBulletDynamics -lBulletCollision -lLinearMath
Зачем? В данном случае не видно резонов связываться с какими-то либами, просто добавляете в проект фолдеры с нужными исходниками. Т.к. "hello" не имеет превью (насколько я помню), то и OpenGL либа не нужна, для др примеров нужно будет подключить.
Записан
8Observer8
Гость
« Ответ #28 : Апрель 13, 2014, 11:08 »

Меня пугает, что добавлению нет конца. Он всё требует и требует. Я уже больше десятка .h .cpp подключил.
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #29 : Апрель 13, 2014, 11:15 »

Меня пугает, что добавлению нет конца. Он всё требует и требует. Я уже больше десятка .h .cpp подключил.
То мало, подключайте сразу пачками (фолдерами).
Записан
Страниц: 1 [2] 3   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.137 секунд. Запросов: 23.