Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Coin3d, Quarter vs QtCreator 
:(
    Опции темы
Mormishka
Дата 6.8.2011, 14:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Пыьаюсь подключить библиотеку Quarter, для того чтобы исплоьзовать coin3d и qt вместе.

Код


#include <QtGui/QApplication>

#include <Inventor/nodes/SoBaseColor.h>
#include <Inventor/nodes/SoCone.h>
#include <Inventor/nodes/SoSeparator.h>

#include <Quarter/Quarter.h>
#include <Quarter/QuarterWidget.h>

using namespace SIM::Coin3D::Quarter;

int
main(int argc, char ** argv)
{
  QApplication app(argc, argv);
  // Initializes Quarter library (and implicitly also the Coin and Qt
  // libraries).
  Quarter::init();

  // Make a dead simple scene graph by using the Coin library, only
  // containing a single yellow cone under the scenegraph root.
  SoSeparator * root = new SoSeparator;
  root->ref();

  SoBaseColor * col = new SoBaseColor;
  col->rgb = SbColor(1, 1, 0);
  root->addChild(col);

  root->addChild(new SoCone);

  // Create a QuarterWidget for displaying a Coin scene graph
  QuarterWidget * viewer = new QuarterWidget;
  viewer->setSceneGraph(root);

  // make the viewer react to input events similar to the good old
  // ExaminerViewer
  viewer->setNavigationModeFile(QUrl("coin:///scxml/navigation/examiner.xml"));

  // Pop up the QuarterWidget
  viewer->show();
  // Loop until exit.
  app.exec();
  // Clean up resources.
  root->unref();
  delete viewer;

  Quarter::clean();

  return 0;
}


//#include <QtCore/QCoreApplication>

//int main(int argc, char *argv[])
//{
//    QCoreApplication a(argc, argv);

//    return a.exec();
//}

Пишет

Код

C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\Inventor\C\basic.h:288: ошибка: C1189: #error:  Define either COIN_DLL or COIN_NOT_DLL as appropriate for your linkage! See Inventor/C/basic.h for further instructions.


Вот что написано в basic.h

Код

  On MSWindows platforms, one of these defines must always be set when
  building application programs:

   - "COIN_DLL", when the application programmer is using the library
     in the form of a dynamic link library (DLL)

   - "COIN_NOT_DLL", when the application programmer is using the
     library in the form of a static object library (LIB)

  Note that either COIN_DLL or COIN_NOT_DLL _must_ be defined by the
  application programmer on MSWindows platforms, or else the #error
  statement will hit. Set up one or the other of these two defines in
  your compiler environment according to how the library was built --
  as a DLL (use "COIN_DLL") or as a LIB (use "COIN_NOT_DLL").

  (Setting up defines for the compiler is typically done by either
  adding something like "/DCOIN_DLL" to the compiler's argument line
  (for command-line build processes), or by adding the define to the
  list of preprocessor symbols in your IDE GUI (in the MSVC IDE, this
  is done from the "Project"->"Settings" menu, choose the "C/C++" tab,
  then "Preprocessor" from the dropdown box and add the appropriate
  define)).



PM MAIL   Вверх
bsa
Дата 8.8.2011, 12:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

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



И в чем проблема? Открой *.pro файл и добавь:
Код
DEFINES += COIN_DLL

PM   Вверх
kemiisto
Дата 10.9.2011, 11:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



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

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



Точнее
Код

DEFINES += COIN_DLL \
        SIMAGE_DLL \
        QUARTER_DLL

simage используется для подгрузки текстур. Кстати, сборка под MSVC10 достаточно нетривиальная. Бинарники на оф.сайте только под MSVC9. А я как раз сейчас решил перелезть на Coin... Так что ежели кому надо - тут. Положить куда-нить и добавить путь в переменную COINDIR (например, c:\Coin3D). Ещё при сборке Quarter понадобилось создать переменную QTDIR с путём (например, c:\Qt\qt-4.7.4). Qt 4.7.4 был предварительно собран из исходников.


--------------------
PM MAIL WWW GTalk Jabber   Вверх
W4FhLF
Дата 11.9.2011, 09:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


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

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



Цитата(kemiisto @  10.9.2011,  11:51 Найти цитируемый пост)
А я как раз сейчас решил перелезть на Coin...


Пользовал Coin два года назад. Сейчас вот смотрю, какой-то мёртвый он совсем стал. Почему не VTK?


--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
kemiisto
Дата 11.9.2011, 11:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



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

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



Цитата(W4FhLF @  11.9.2011,  08:44 Найти цитируемый пост)
Сейчас вот смотрю, какой-то мёртвый он совсем стал.

Если каждый день не комитят, так сразу "мёртвый"? Пока везде собирается. Что ещё надо?

Цитата(W4FhLF @  11.9.2011,  08:44 Найти цитируемый пост)
Почему не VTK?

Потому что не VTK. 

P.S. Он ещё и от Kitware. Фу!


--------------------
PM MAIL WWW GTalk Jabber   Вверх
W4FhLF
Дата 11.9.2011, 13:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


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

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



Цитата(kemiisto @  11.9.2011,  11:53 Найти цитируемый пост)
Если каждый день не комитят, так сразу "мёртвый"? 


За последние два года был лишь один минорный релиз. При том, что два года назад мне много чего не хватало в этой либе. Точнее там есть только базовый функционал, если требуется реализовать что-то своё, то придётся попотеть. Ясно, что GPL и требовать тут что-то неприлично. 

Цитата(kemiisto @  11.9.2011,  11:53 Найти цитируемый пост)
Что ещё надо?


Не то, чтобы надо, но желательно нормальную документацию, примеры. Насчёт коммьюнити не знаю, может там в мэйлиниг-листах жизнь теплится. 


--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
kemiisto
Дата 11.9.2011, 14:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



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

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



Цитата(W4FhLF @  11.9.2011,  12:54 Найти цитируемый пост)
При том, что два года назад мне много чего не хватало в этой либе.

Мне хватает.

Цитата(W4FhLF @  11.9.2011,  12:54 Найти цитируемый пост)
Точнее там есть только базовый функционал, если требуется реализовать что-то своё, то придётся попотеть.

Я до этого писал на чисотм OpenGL. И хватало. Та что "базового" функционала Coin3D более чем достаточно.

Цитата(W4FhLF @  11.9.2011,  12:54 Найти цитируемый пост)
Не то, чтобы надо, но желательно нормальную документацию, примеры.

Ну не знаю. Нормальные там доки. И книга даже есть. The Inventor Mentor. Всё понятно. Смысла изучать ещё одну библиотеку? Я эту год уже ковыряю.


--------------------
PM MAIL WWW GTalk Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets"
JackYF
Любитель
  • В заголовке темы в квадратных скобках обозначьте используемую вами библиотеку, например: [QT],[GTK],[wx].
  • Если вопрос актуален только для некоторой версии библиотеки, либо, если вы пользуетесь не самой последней версией, укажите это. Например: [QT4], [GTK2].
  • Все начинающие изучать Qt - не забудьте зайти сюда.
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • В вопросе укажите полную версию версию библиотеки, а также все дополнительные используемые программные пакеты.
  • Не забывайте пользоваться кнопкой "Код".
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема »


 




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


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

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