Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: 2 вопроса по Qt creater  (Прочитано 1164 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн isaer

  • Автор темы
  • Любитель
  • *
  • Сообщений: 65
    • Просмотр профиля
2 вопроса по Qt creater
« : 07 Октября 2010, 03:15:16 »
1. вопрос - бесплатна ли Qt? так как погуглил так и не нашел ничего уразумительного по этой лицензии, можете написать что она значит?
2. вопрос - как ставить ключи компиляции в Qt Creater, тоесть мне надо мою программу скомпилировать так: g++ [project] -lGL -lGLU и тд как такое сделать??
именно в самом Qt Creater, как делать это без графического интерфейса я умею

Оффлайн VestniK

  • Активист
  • *
  • Сообщений: 594
    • Просмотр профиля
Re: 2 вопроса по Qt creater
« Ответ #1 : 07 Октября 2010, 12:06:39 »
Цитировать
1. вопрос - бесплатна ли Qt? так как погуглил так и не нашел ничего уразумительного по этой лицензии, можете написать что она значит?
Плохо гуглил http://ru.wikipedia.org/wiki/GNU_Lesser_General_Public_License http://qt.nokia.com/downloads а если ещё лучше погуглишь, то найдёшь разъяснения на тему того что разрешает и запрещает LGPL на любом языке мира.

По второму вопросу если ты используешь стандартный формат проекта (файл *.pro), то в доках по qmake поищи описание переменных. Кажется это должно делаться добавлением переменной LIBS+=GL GLU в файл проекта, но я не уверен, не часто с qmake работаю.

Оффлайн maximum2000

  • Активист
  • *
  • Сообщений: 403
    • Просмотр профиля
Re: 2 вопроса по Qt creater
« Ответ #2 : 07 Октября 2010, 13:38:22 »
Совершенно верно. В pro-файл добавить .....

 LIBS =     /usr/lib/libopenal.so \
         /usr/lib/libGL.so \
         /usr/lib/libGLU.so
   
а если используется компонент QT-OpenGl, то добавить

CONFIG +=  opengl
« Последнее редактирование: 07 Октября 2010, 13:40:00 от maximum2000 »

Оффлайн VestniK

  • Активист
  • *
  • Сообщений: 594
    • Просмотр профиля
Re: 2 вопроса по Qt creater
« Ответ #3 : 07 Октября 2010, 13:59:28 »
А там обязательно указывать полный путь? Он же платформозависимый. Мне кажется что "LIBS +=GL GLU" должно работать, причём одинаково на Linuxе, маке и винде. Или qmake так не умеет?

Пользователь решил продолжить мысль 07 Октября 2010, 14:02:05:
Мдя, походу он всё же так не умеет: http://doc.qt.nokia.com/4.6/qmake-variable-reference.html#libs
« Последнее редактирование: 07 Октября 2010, 14:02:05 от VestniK »

Оффлайн Grem

  • Любитель
  • *
  • Сообщений: 78
    • Просмотр профиля
Re: 2 вопроса по Qt creater
« Ответ #4 : 07 Октября 2010, 14:16:09 »
Да, не умеет. Я делаю так:
win32 {
     INCLUDEPATH += "C:\Program Files\OpenCV\cxcore\include" \
     "C:\Program Files\OpenCV\cv\include" \
     "C:\Program Files\OpenCV\otherlibs\highgui" \
     "C:\Program Files\OpenCV\cvaux\include"
     
    LIBS += -L"C:\Program Files\OpenCV\lib"
    }
unix {
    INCLUDEPATH += "../qextserialport" \
    "/usr/include/opencv"
    DEFINES += _TTY_POSIX_
    LIBS += -L.
    }

Оффлайн VestniK

  • Активист
  • *
  • Сообщений: 594
    • Просмотр профиля
Re: 2 вопроса по Qt creater
« Ответ #5 : 07 Октября 2010, 14:55:50 »
Да, походу правильно я сделал, что перешёл везде на SCons и CMake. Хотя там тоже своих проблем хватает.

Оффлайн maximum2000

  • Активист
  • *
  • Сообщений: 403
    • Просмотр профиля
Re: 2 вопроса по Qt creater
« Ответ #6 : 07 Октября 2010, 16:30:16 »
Да, не умеет. Я делаю так:
win32 {
     INCLUDEPATH += "C:\Program Files\OpenCV\cxcore\include" \
     "C:\Program Files\OpenCV\cv\include" \
     "C:\Program Files\OpenCV\otherlibs\highgui" \
     "C:\Program Files\OpenCV\cvaux\include"
     
    LIBS += -L"C:\Program Files\OpenCV\lib"
    }
unix {
    INCLUDEPATH += "../qextserialport" \
    "/usr/include/opencv"
    DEFINES += _TTY_POSIX_
    LIBS += -L.
    }


Совершенно верно. Можно еще сложнее....


unix {
    HARDWARE_PLATFORM = $$system(uname -m)
    contains( HARDWARE_PLATFORM, x86_64 ) {
        # 64-bit Linux
        LIBS = /usr/lib/libX11.so \
         /usr/lib/libXmu.so.6 \
         /usr/local/lib64/libosg.so \
.......

Оффлайн isaer

  • Автор темы
  • Любитель
  • *
  • Сообщений: 65
    • Просмотр профиля
Re: 2 вопроса по Qt creater
« Ответ #7 : 07 Октября 2010, 19:26:47 »
о отлично все заработало теперь

а вот о лицензии чет нашел но там не понятно так, чего там можно а что нельзя

Оффлайн VestniK

  • Активист
  • *
  • Сообщений: 594
    • Просмотр профиля
Re: 2 вопроса по Qt creater
« Ответ #8 : 07 Октября 2010, 20:08:15 »
на страницы загрузки Qt на сайте нокии http://qt.nokia.com/downloads таблица со списком того что можно и что нельзя в свободной и в комерческой версии Qt

Более подробно в тексте самой лицензии ссылка на перевод которого есть на википедии.

Краткие пояснения есть в гугле: http://www.google.hu/search?q=%D1%87%D1%82%D0%BE+%D0%BC%D0%BE%D0%B6%D0%BD%D0%BE+LGPL&ie=utf-8&oe=utf-8&aq=t&rls=com.ubuntu:en-US:unofficial&client=firefox-a
ссылка номер два вроде очень даже адекватна: http://www.gentoo.ru/content/voprosy-po-licenziyam-gpl-lgpl-i-cddl

Тут более подробное обсуждение тонкостей, но с уклоном в GPL (LGPL менее требовательна, там о ней тоже говорят):
http://xpoint.ru/forums/misc/thread/33002.xhtml

Если эта инфа нужна для работы, то прочти текст лицензии, желательно на пару с юристом патентоведом, и там уже решай что можно, а что нельзя.

Оффлайн Grem

  • Любитель
  • *
  • Сообщений: 78
    • Просмотр профиля
Re: 2 вопроса по Qt creater
« Ответ #9 : 08 Октября 2010, 01:52:06 »
Да, походу правильно я сделал, что перешёл везде на SCons и CMake. Хотя там тоже своих проблем хватает.
Платформонезависимо по самые яйца? :) А если либы, например, для работы с ком портом?

Оффлайн VestniK

  • Активист
  • *
  • Сообщений: 594
    • Просмотр профиля
Re: 2 вопроса по Qt creater
« Ответ #10 : 08 Октября 2010, 02:15:33 »
Да, походу правильно я сделал, что перешёл везде на SCons и CMake. Хотя там тоже своих проблем хватает.
Платформонезависимо по самые яйца? :) А если либы, например, для работы с ком портом?
Ну там можно городить конструкции для определения целевой платформы, просто в стандартных ситуациях как у ТС и без них всё делается.

Вот полная аналогия того, что делается в qmake
SCons:
env = Environment()
...
if env['PLATFORM'] == 'win32' or env['PLATFORM'] == 'cygwin':
    env.Append(LIBS=['winOnlyLib1','winOnlyLib2'])
elif env['PLATFORM'] == 'posix':
    env.Append(LIBS=['posixOnlyLib1','posixOnlyLib2','posixOnlyLib3'])
elif env['PLATFORM'] == 'darwin':
    env.Append(LIBS='macOnlyLib')
CMake:
if (WIN32)
set(PLATFOR_SPECIFIC_LIBS, winOnlyLib)
elseif(UNIX)
set(PLATFOR_SPECIFIC_LIBS, unixOnlyLib)
endif(WIN32)

А вот ответ на вопрос ТС если бы он пользовался SCons'ом или CMake'ом
SCons:
env.Append(LIBS=['GL','GLU'])
CMake
find_package(OpenGL REQUIRED)
...
add_executable(myprog, ${SOURCES})
target_link_libraries(myprog ${OPENGL_LIBRARIES})

Оффлайн Grem

  • Любитель
  • *
  • Сообщений: 78
    • Просмотр профиля
Re: 2 вопроса по Qt creater
« Ответ #11 : 08 Октября 2010, 16:24:53 »
Что-то отличий от qmake особо и нет. Мне, например, и qmake с головой хватает.

Оффлайн VestniK

  • Активист
  • *
  • Сообщений: 594
    • Просмотр профиля
Re: 2 вопроса по Qt creater
« Ответ #12 : 08 Октября 2010, 16:38:42 »
Ну тут дело вкуса. Мне честно говоря ни то ни другое ни третье не очень нарвиться. У каждого есть приличный набор сильных сторон и некоторое количество таких косяков в идеалогии, что руки опускаются.

 

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