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

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

Страниц: [1] 2 3   Вниз
  Печать  
Автор Тема: qbs как начать  (Прочитано 28243 раз)
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« : Декабрь 25, 2016, 00:00 »

Привет всем?
Подскажите, как создать виджетовый проект и настроить креатор на запуск с отладкой?
Записан
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« Ответ #1 : Декабрь 25, 2016, 12:35 »

Больше всего смущает, что необходимо указывать путь к файлу запуска.
Записан
ViTech
Гипер активный житель
*****
Offline Offline

Сообщений: 858



Просмотр профиля
« Ответ #2 : Декабрь 25, 2016, 13:43 »

Простейший пример проекта - во вложении.
Записан

Пока сам не сделаешь...
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« Ответ #3 : Декабрь 25, 2016, 23:30 »

Не нужно ли здесь в зависимость cpp добавить? У меня ошибка
error: 'cstddef' file not found
#  include <cstddef>
           ^
Записан
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« Ответ #4 : Декабрь 26, 2016, 10:17 »

Под виндой ошибок оказалось на порядок больше.
Цитировать
10:15:02: Running steps for project QbsGuiExample...
compiling main.cpp
compiling MainWindow.cpp
compiling moc_MainWindow.cpp
compiling moc_MainWindow.cpp
linking QbsGuiExample.exe
C:/Development/mingw64/bin/g++.exe "-Wl,--unresolved-symbols=ignore-in-shared-libs" "-Wl,--major-subsystem-version,5" "-Wl,--minor-subsystem-version,02" "-Wl,--major-os-version,5" "-Wl,--minor-os-version,02" -LC:/Qt/Qt5.7.1_mingw64/lib -m64 -o D:/QtProjects/QbsGuiExample/build/QbsGuiExample-Desktop_Qt_5_7_1_MinGW_64bit-Debug/qtc_Desktop__135af0bf-debug/QbsGuiExample.qtc-Desktop--135af0bf.348d7c97/QbsGuiExample.exe D:/QtProjects/QbsGuiExample/build/QbsGuiExample-Desktop_Qt_5_7_1_MinGW_64bit-Debug/qtc_Desktop__135af0bf-debug/QbsGuiExample.qtc-Desktop--135af0bf.348d7c97/.obj/24bb1e2f24d83fc9/MainWindow.cpp.o D:/QtProjects/QbsGuiExample/build/QbsGuiExample-Desktop_Qt_5_7_1_MinGW_64bit-Debug/qtc_Desktop__135af0bf-debug/QbsGuiExample.qtc-Desktop--135af0bf.348d7c97/.obj/3a52ce780950d4d9/main.cpp.o D:/QtProjects/QbsGuiExample/build/QbsGuiExample-Desktop_Qt_5_7_1_MinGW_64bit-Debug/qtc_Desktop__135af0bf-debug/QbsGuiExample.qtc-Desktop--135af0bf.348d7c97/.obj/980dda0d6c4673fc/moc_MainWindow.cpp.o D:/QtProjects/QbsGuiExample/build/QbsGuiExample-Desktop_Qt_5_7_1_MinGW_64bit-Debug/qtc_Desktop__135af0bf-debug/QbsGuiExample.qtc-Desktop--135af0bf.348d7c97/.obj/bb26bfbee497bb69/moc_MainWindow.cpp.o C:/Qt/Qt5.7.1_mingw64/lib/libqtmaind.a C:/Qt/Qt5.7.1_mingw64/lib/libQt5Cored.a C:/Qt/Qt5.7.1_mingw64/lib/libQt5Guid.a C:/Qt/Qt5.7.1_mingw64/lib/libQt5Widgetsd.a
D:/QtProjects/QbsGuiExample/build/QbsGuiExample-Desktop_Qt_5_7_1_MinGW_64bit-Debug/qtc_Desktop__135af0bf-debug/QbsGuiExample.qtc-Desktop--135af0bf.348d7c97/.obj/bb26bfbee497bb69/moc_MainWindow.cpp.o: In function `qt_noop()':
D:/QtProjects/QbsGuiExample/build/QbsGuiExample-Desktop_Qt_5_7_1_MinGW_64bit-Debug/qtc_Desktop__135af0bf-debug/QbsGuiExample.qtc-Desktop--135af0bf.348d7c97/qt.headers/moc_MainWindow.cpp:56: multiple definition of `MainWindow::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)'
D:/QtProjects/QbsGuiExample/build/QbsGuiExample-Desktop_Qt_5_7_1_MinGW_64bit-Debug/qtc_Desktop__135af0bf-debug/QbsGuiExample.qtc-Desktop--135af0bf.348d7c97/.obj/980dda0d6c4673fc/moc_MainWindow.cpp.o:D:/QtProjects/QbsGuiExample/build/QbsGuiExample-Desktop_Qt_5_7_0_MinGW_64bit-Debug/qtc_Desktop__7fd0dfa4-debug/QbsGuiExample.qtc-Desktop--7fd0dfa4.43623f43/qt.headers/moc_MainWindow.cpp:56: first defined here
D:/QtProjects/QbsGuiExample/build/QbsGuiExample-Desktop_Qt_5_7_1_MinGW_64bit-Debug/qtc_Desktop__135af0bf-debug/QbsGuiExample.qtc-Desktop--135af0bf.348d7c97/.obj/bb26bfbee497bb69/moc_MainWindow.cpp.o: In function `QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::operator->() const':
D:/QtProjects/QbsGuiExample/build/QbsGuiExample-Desktop_Qt_5_7_1_MinGW_64bit-Debug/qtc_Desktop__135af0bf-debug/QbsGuiExample.qtc-Desktop--135af0bf.348d7c97/qt.headers/moc_MainWindow.cpp:70: multiple definition of `MainWindow::metaObject() const'
D:/QtProjects/QbsGuiExample/build/QbsGuiExample-Desktop_Qt_5_7_1_MinGW_64bit-Debug/qtc_Desktop__135af0bf-debug/QbsGuiExample.qtc-Desktop--135af0bf.348d7c97/.obj/980dda0d6c4673fc/moc_MainWindow.cpp.o:D:/QtProjects/QbsGuiExample/build/QbsGuiExample-Desktop_Qt_5_7_0_MinGW_64bit-Debug/qtc_Desktop__7fd0dfa4-debug/QbsGuiExample.qtc-Desktop--7fd0dfa4.43623f43/qt.headers/moc_MainWindow.cpp:70: first defined here
D:/QtProjects/QbsGuiExample/build/QbsGuiExample-Desktop_Qt_5_7_1_MinGW_64bit-Debug/qtc_Desktop__135af0bf-debug/QbsGuiExample.qtc-Desktop--135af0bf.348d7c97/.obj/bb26bfbee497bb69/moc_MainWindow.cpp.o: In function `MainWindow::qt_metacast(char const*)':
D:/QtProjects/QbsGuiExample/build/QbsGuiExample-Desktop_Qt_5_7_1_MinGW_64bit-Debug/qtc_Desktop__135af0bf-debug/QbsGuiExample.qtc-Desktop--135af0bf.348d7c97/qt.headers/moc_MainWindow.cpp:75: multiple definition of `MainWindow::qt_metacast(char const*)'
D:/QtProjects/QbsGuiExample/build/QbsGuiExample-Desktop_Qt_5_7_1_MinGW_64bit-Debug/qtc_Desktop__135af0bf-debug/QbsGuiExample.qtc-Desktop--135af0bf.348d7c97/.obj/980dda0d6c4673fc/moc_MainWindow.cpp.o:D:/QtProjects/QbsGuiExample/build/QbsGuiExample-Desktop_Qt_5_7_0_MinGW_64bit-Debug/qtc_Desktop__7fd0dfa4-debug/QbsGuiExample.qtc-Desktop--7fd0dfa4.43623f43/qt.headers/moc_MainWindow.cpp:75: first defined here
D:/QtProjects/QbsGuiExample/build/QbsGuiExample-Desktop_Qt_5_7_1_MinGW_64bit-Debug/qtc_Desktop__135af0bf-debug/QbsGuiExample.qtc-Desktop--135af0bf.348d7c97/.obj/bb26bfbee497bb69/moc_MainWindow.cpp.o: In function `MainWindow::qt_metacall(QMetaObject::Call, int, void**)':
D:/QtProjects/QbsGuiExample/build/QbsGuiExample-Desktop_Qt_5_7_1_MinGW_64bit-Debug/qtc_Desktop__135af0bf-debug/QbsGuiExample.qtc-Desktop--135af0bf.348d7c97/qt.headers/moc_MainWindow.cpp:83: multiple definition of `MainWindow::qt_metacall(QMetaObject::Call, int, void**)'
D:/QtProjects/QbsGuiExample/build/QbsGuiExample-Desktop_Qt_5_7_1_MinGW_64bit-Debug/qtc_Desktop__135af0bf-debug/QbsGuiExample.qtc-Desktop--135af0bf.348d7c97/.obj/980dda0d6c4673fc/moc_MainWindow.cpp.o:D:/QtProjects/QbsGuiExample/build/QbsGuiExample-Desktop_Qt_5_7_0_MinGW_64bit-Debug/qtc_Desktop__7fd0dfa4-debug/QbsGuiExample.qtc-Desktop--7fd0dfa4.43623f43/qt.headers/moc_MainWindow.cpp:83: first defined here
D:/QtProjects/QbsGuiExample/build/QbsGuiExample-Desktop_Qt_5_7_1_MinGW_64bit-Debug/qtc_Desktop__135af0bf-debug/QbsGuiExample.qtc-Desktop--135af0bf.348d7c97/.obj/bb26bfbee497bb69/moc_MainWindow.cpp.o: In function `qt_noop()':
D:/QtProjects/QbsGuiExample/build/QbsGuiExample-Desktop_Qt_5_7_1_MinGW_64bit-Debug/qtc_Desktop__135af0bf-debug/QbsGuiExample.qtc-Desktop--135af0bf.348d7c97/qt.headers/moc_MainWindow.cpp:56: multiple definition of `MainWindow::staticMetaObject'
D:/QtProjects/QbsGuiExample/build/QbsGuiExample-Desktop_Qt_5_7_1_MinGW_64bit-Debug/qtc_Desktop__135af0bf-debug/QbsGuiExample.qtc-Desktop--135af0bf.348d7c97/.obj/980dda0d6c4673fc/moc_MainWindow.cpp.o:D:/QtProjects/QbsGuiExample/build/QbsGuiExample-Desktop_Qt_5_7_0_MinGW_64bit-Debug/qtc_Desktop__7fd0dfa4-debug/QbsGuiExample.qtc-Desktop--7fd0dfa4.43623f43/qt.headers/moc_MainWindow.cpp:56: first defined here
collect2.exe: error: ld returned 1 exit status
Process failed with exit code 1.
The following products could not be built for configuration qtc_Desktop__135af0bf-debug:
   QbsGuiExample
Error while building/deploying project QbsGuiExample (kit: Desktop Qt 5.7.1 MinGW_64bit)
When executing step "Qbs Build"
10:15:04: Elapsed time: 00:03.
Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #5 : Декабрь 26, 2016, 10:30 »

Цитировать
Не нужно ли здесь в зависимость cpp добавить?

Нет.

Скорее всего что-то криво с QtC && QBS конфигурацией. Для простоты можете взять примеры из qbs/examples (скачать сорцы QBS) и попробовать собрать (например examples/helloworld-qt, examples/helloworld-minimal).

UPD: У меня все собралось (Kit MSVC 2015 && Qt 5.7.1)
UPD2: Хотя, если честно, приаттаченый пример замороченный и уж явно не тянет на "простой" Улыбающийся.
« Последнее редактирование: Декабрь 26, 2016, 10:35 от kuzulis » Записан

ArchLinux x86_64 / Win10 64 bit
ViTech
Гипер активный житель
*****
Offline Offline

Сообщений: 858



Просмотр профиля
« Ответ #6 : Декабрь 26, 2016, 10:55 »

Не нужно ли здесь в зависимость cpp добавить? У меня ошибка
error: 'cstddef' file not found
#  include <cstddef>
           ^
...

Под виндой ошибок оказалось на порядок больше.
...

Похоже, что toolchain не лучшим образом сконфигурировался.
Записан

Пока сам не сделаешь...
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« Ответ #7 : Декабрь 26, 2016, 12:22 »

Не понятно, как согласовать настройки qbs и qtcreator
Я в cmd добавил в path путь к компилю и qt (bin)
Запустил
Код:
qbs setup-toolchains --detect
Получил профиль x86_64-w64-mingw32.
В QtCreator этот профиль не появился. Причём настроен Kit с использованием тех же компилятора и библиотеки.
Записан
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« Ответ #8 : Декабрь 26, 2016, 13:11 »

Почистил папку билда. Всё заработало. Спасибо.
Записан
ViTech
Гипер активный житель
*****
Offline Offline

Сообщений: 858



Просмотр профиля
« Ответ #9 : Декабрь 26, 2016, 13:13 »

Настройки Qbs для Creator хранятся в его папке конфигураций (в винде где-то в C:\Users\Xxx\AppData\Roaming\QtProject\qtcreator\). Там папка "qbs" с профилями и qbs.conf. Это всё можно удалить, при запуске Creator заново их создаёт.
Записан

Пока сам не сделаешь...
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« Ответ #10 : Декабрь 26, 2016, 13:20 »

Да, так и делал. Потом снял галку Store profiles in Qt Creator settings dirrectory.
Настройки полетели в C:\Users\USERNAME\AppData\Roaming\QtProject\qbs\1.7.0

kuzulis, спасибо, гляну примеры
Записан
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« Ответ #11 : Декабрь 26, 2016, 13:29 »

Смотрю примеры....
Чем-то отличается использование апострофа от кавычек?
Записан
ViTech
Гипер активный житель
*****
Offline Offline

Сообщений: 858



Просмотр профиля
« Ответ #12 : Декабрь 26, 2016, 13:43 »

Чем-то отличается использование апострофа от кавычек?

Скорей всего там правила javascript применяются.
Записан

Пока сам не сделаешь...
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« Ответ #13 : Декабрь 26, 2016, 14:12 »

Скорей всего там правила javascript применяются.
Если честно, я с ними не знаком.

Хотелось бы ещё уточнить, как мне управлять путями к сторонним библиотекам на винде? Ведь на каждой машине они могут располагаться как удобно пользователю. Как использовать prf файлы, например для подключения qwt?
Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #14 : Декабрь 26, 2016, 15:39 »

Цитировать
Хотелось бы ещё уточнить, как мне управлять путями к сторонним библиотекам на винде? Ведь на каждой машине они могут располагаться как удобно пользователю. Как использовать prf файлы, например для подключения qwt?

Так же как и в qmake - никак. Можно писать Probe для поиска мест с нужными хидерами/либами. Можно каждый раз ручками править пути.

PS: Мы, например, таскаем qwt в проекте (под виндой), сделав QBS-ную обертку для его сборки.

Записан

ArchLinux x86_64 / Win10 64 bit
Страниц: [1] 2 3   Вверх
  Печать  
 
Перейти в:  


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