Официальный форум СВД Встраиваемые Системы
29 Март, 2024, 12:51:10 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
 
 
 Сайт СВД ВС  Начало   Помощь Поиск Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: Momentics 7 + Qt 5.5.1  (Прочитано 1801 раз)
shj
Интересующийся

Сообщений: 9


« : 23 Август, 2018, 15:02:19 »

Здравствуйте! Скажите пожалуйста, есть ли возможность интегрировать Qt 5.5.1 в Momentics 7? Есть ли инструкция?
Записан
Игорь Рондарев
Модератор
Опытный пользователь

Сообщений: 281

Сотрудник СВД ВС


WWW
« Ответ #1 : 23 Август, 2018, 16:40:19 »

Если кратко: в текущей версии QNX Momentics IDE (7.0.3 по состоянию на август 2018 года) полноценная интеграция с платформой Qt не поддерживается (под полноценной интеграцией подразумевается возможность создания и конфигурирования проектов с помощью графических инструментов, разработка интерфейсов с помощью соответствующих "мастеров" и т.д.).

Причины: поддержка фреймворка Qt в платформе Eclipse (и, как следствие, в QNX Momenitcs IDE) долгое время была реализована в виде отдельного пакета (т.н. "Qt Eclipse Integration"), т.е. по сути являлась сторонней. Разработка данного пакета затем в какой-то момент была прекращена, а доступная его ревизия (1.6.1) поддерживает использование только в QNX Momentics 4.7. При этом в качестве основной среды разработки Qt-приложений позиционировался и продолжает позиционироваться среда разработки Qt Creator, изначально ориентированная на специфику фреймворка Qt.

Следует отметить, что в рамках проекта Eclipse сейчас ведутся работы по разработке нового слоя поддержки проектов Qt (теперь уже как неотъемлемая часть платформы, а не как внешний модуль), и её результаты уже можно видеть в некоторых местах QNX Momentics IDE 7 (настройки, создание Qt-проектов и т.д.). Однако в настоящий момент данная технология интеграции находится на начальном этапе разработки и пока непригодна для продуктивного использования. Вероятно, в более расширенном варианте она появится уже в следующих версиях среды разработки.

Что касается возможностей интеграции QNX Momentics IDE 7 с Qt, доступных уже сейчас, то можно воспользоваться механизмом создания проекта типа C++ Makefile project поверх имеющегося Qt-проекта. При этом дальнейшее управление сборкой выполняется в ручном режиме через создание собственных target'ов "build" и "clean" через инструмент "Make Targets". Например:
Код:

build: sh -c "qmake-x86; make"
clean: make distclean
« Последнее редактирование: 23 Август, 2018, 16:56:11 от Игорь Рондарев » Записан

shj
Интересующийся

Сообщений: 9


« Ответ #2 : 24 Август, 2018, 16:52:23 »

Хорошо, для начала я решил настроить удаленную отладку в Qt Creator (v. 4.8.0). Тестовый проект собирается, запускается, но не отлаживается. GDB ругается таким образом: No symbol table is loaded. Use the "file" command.

В чем может быть причина?









вот логи отладчика:
w
dStart parameters: 'qt-creator-qnx-test' mode: 6
dABI: x86-qnx-generic-elf-32bit
dLanguages: c++
dExecutable: \tmp\qt-creator-qnx-test\bin\qt-creator-qnx-test
dDebugger: C:\QNX650\host\win32\x86\usr\bin\ntox86-gdb.exe
dProject: C:\Users\shj\Documents\qt-creator-qnx-test
dAdditional Search Directories:
dRemote: 192.168.38.134:10007
dQML server: 192.168.38.134:10008
dSysroot:
dDebug Source Location:
dDebugger settings:
dAdditionalArguments:   (default: )
dAdjustBreakpointLocations: true  (default: true)
dAllPluginBreakpoints: true  (default: true)
dAlwaysAdjustColumnWidths: true  (default: true)
dAutoDerefPointers: true  (default: true)
dAutoEnrichParameters: true  (default: true)
dAutoQuit: false  (default: false)
dBreakEvent:   (default: )
dBreakOnAbort: false  (default: false)
dBreakOnCatch: false  (default: false)
dBreakOnCrtDbgReport: false  (default: false)
dBreakOnFatal: false  (default: false)
dBreakOnThrow: false  (default: false)
dBreakOnWarning: false  (default: false)
dBreakpointCorrection: true  (default: true)
dBreakpointsFullPath: false  (default: false)
dCDB_Console: false  (default: false)
dCloseBuffersOnExit: false  (default: false)
dCloseMemoryBuffersOnExit: true  (default: true)
dDisplayStringLimit: 100  (default: 100)
dEnableReverseDebugging: false  (default: false)
dExtraDumperFile:   (default: )
dFirstChanceExceptionTaskEntry: true  (default: true)
dFontSizeFollowsEditor: false  (default: false)
dGdbCustomDumperCommands:   (default: )
dGdbPostAttachCommands:   (default: )
dGdbStartupCommands:   (default: )
dIdentifyDebugInfoPackages: false  (default: false)
dIgnoreFirstChanceAccessViolation: false  (default: false)
dIntelFlavor: false  (default: false)
dLoadGdbDumpers2: false  (default: false)
dLoadGdbInit: true  (default: true)
dLogTimeStamps: false  (default: false)
dMaximalStackDepth: 20  (default: 20)
dMaximalStringLength: 10000  (default: 10000)
dMultiInferior: false  (default: false)
dNoPluginBreakpoints: false  (default: false)
dQmlInspector.ShowAppOnTop: false  (default: false)
dRaiseOnInterrupt: true  (default: true)
dRegisterForPostMortem: false  (default: false)
dSecondChanceExceptionTaskEntry: true  (default: true)
dSelectedPluginBreakpoints: false  (default: false)
dSelectedPluginBreakpointsPattern: .*  (default: .*)
dShowQObjectNames2: true  (default: true)
dShowQmlObjectTree: true  (default: true)
dShowQtNamespace: true  (default: true)
dShowStandardNamespace: true  (default: true)
dShowThreadNames: true  (default: false)  ***
dSkipKnownFrames: false  (default: false)
dSortStructMembers: true  (default: true)
dSourcePaths:   (default: )
dStationaryEditorWhileStepping: false  (default: false)
dSwitchModeOnExit: false  (default: false)
dSymbolPaths:   (default: )
dTargetAsync: false  (default: false)
dUseAddressInBreakpointsView: false  (default: false)
dUseAddressInStackView: false  (default: false)
dUseAlternatingRowColours: false  (default: false)
dUseCodeModel: true  (default: true)
dUseDebuggingHelper: true  (default: true)
dUseDynamicType: true  (default: true)
dUseMessageBoxForSignals: true  (default: true)
dUsePythonDumper: true  (default: true)
dUseToolTips: true  (default: true)
dUseToolTipsInBreakpointsView: true  (default: false)  ***
dUseToolTipsInLocalsView: false  (default: false)
dUseToolTipsInStackView: true  (default: true)
dWarnOnReleaseBuilds: true  (default: true)
dWatchdogTimeout: 20  (default: 20)
dState changed from DebuggerNotReady(0) to EngineSetupRequested(1)
dCALL: SETUP ENGINE
dTRYING TO START ADAPTER
dENABLING TEST CASE: 0
dSTARTING C:/QNX650/host/win32/x86/usr/bin/ntox86-gdb.exe -i mi
dGDB STARTED, INITIALIZING IT
<99show version
<100show debug-file-directory
<101set print object on
<102set breakpoint pending on
<103set print elements 10000
<104set unwindonsignal on
<105set width 0
<106set height 0
 Настройка подчинённого...
<107set substitute-path C:/iwmake/build_mingw_opensource C:/Qt/4.8.5
<108python sys.path.insert(1, 'C:/Qt/qtcreator-4.8.0-beta1/share/qtcreator/debugger/')
<109python sys.path.append('C:/QNX650/host/win32/x86/usr/bin/data-directory/python')
<110python from gdbbridge import *
<111python theDumper.loadDumpers({"token":111})

>~"GNU gdb 6.8 qnx-nto (rev. 506)\n"
>~"Copyright (C) 2008 Free Software Foundation, Inc.\n"
>~"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
>~"This is free software: you are free to change and redistribute it.\n"
>~"There is NO WARRANTY, to the extent permitted by law.  Type \"show copying\"\n"
>~"and \"show warranty\" for details.\n"
>~"This GDB was configured as \"--host=i386-mingw32msvc --target=i486-pc-nto-qnx6.5.0\".\n"

>&"show version\n"
>~"GNU gdb 6.8 qnx-nto (rev. 506)\n"
>~"Copyright (C) 2008 Free Software Foundation, Inc.\n"
>~"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
>~"This is free software: you are free to change and redistribute it.\n"
>~"There is NO WARRANTY, to the extent permitted by law.  Type \"show copying\"\n"
>~"and \"show warranty\" for details.\n"
>~"This GDB was configured as \"--host=i386-mingw32msvc --target=i486-pc-nto-qnx6.5.0\".\n"
>99^done
dPARSING VERSION: 99^done
dUNSUPPORTED GDB VERSION GNU gdb 6.8 qnx-nto (rev. 506)
dCopyright (C) 2008 Free Software Foundation, Inc.
dLicense GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
dThis is free software: you are free to change and redistribute it.
dThere is NO WARRANTY, to the extent permitted by law.  Type "show copying"
dand "show warranty" for details.
dThis GDB was configured as "--host=i386-mingw32msvc --target=i486-pc-nto-qnx6.5.0".
dGNU gdb 6.8 qnx-nto (rev. 506)
dCopyright (C) 2008 Free Software Foundation, Inc.
dLicense GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
dThis is free software: you are free to change and redistribute it.
dThere is NO WARRANTY, to the extent permitted by law.  Type "show copying"
dand "show warranty" for details.
dThis GDB was configured as "--host=i386-mingw32msvc --target=i486-pc-nto-qnx6.5.0".
dUSING GDB VERSION: 60800, BUILD: 506
<112-interpreter-exec console "set target-async off"

>&"show debug-file-directory\n"
>~"The directory where separate debug symbols are searched for is \"c:\\c\\qnx650\\host\\win32\\x86\\usr\\lib\\debug\".\n"
>100^done

>&"set print object on\n"
>101^done

>&"set breakpoint pending on\n"
>102^done

>&"set print elements 10000\n"
>103^done

>&"set unwindonsignal on\n"
>104^done

>&"set width 0\n"
>105^done

>&"set height 0\n"
>106^done

>&"set substitute-path C:/iwmake/build_mingw_opensource C:/Qt/4.8.5\n"
>107^done

>&"python sys.path.insert(1, 'C:/Qt/qtcreator-4.8.0-beta1/share/qtcreator/debugger/')\n"
>&"Undefined command: \"python\".  Try \"help\".\n"
>108^error,msg="Undefined command: \"python\".  Try \"help\"."

>&"python sys.path.append('C:/QNX650/host/win32/x86/usr/bin/data-directory/python')\n"
>&"Undefined command: \"python\".  Try \"help\".\n"
>109^error,msg="Undefined command: \"python\".  Try \"help\"."

>&"python from gdbbridge import *\n"
>&"Undefined command: \"python\".  Try \"help\".\n"
>110^error,msg="Undefined command: \"python\".  Try \"help\"."

>&"python theDumper.loadDumpers({\"token\":111})\n"
>&"Undefined command: \"python\".  Try \"help\".\n"
>111^error,msg="Undefined command: \"python\".  Try \"help\"."
dNOTE: ENGINE SETUP FAILED
dState changed from EngineSetupRequested(1) to EngineSetupFailed(2)
<Ошибка отладки
dState changed from EngineSetupFailed(2) to DebuggerFinished(17)

dQUIT DEBUGGER REQUESTED IN STATE 17

>&"No symbol table is loaded.  Use the \"file\" command.\n"
>112^error,msg="No symbol table is loaded.  Use the \"file\" command."
dCOOKIE FOR TOKEN 112 ALREADY EATEN (DebuggerFinished). TWO RESPONSES FOR ONE COMMAND?
 Программа завершилась с ошибкой: No symbol table is loaded.  Use the "file" command.


d
dNON-CRITICAL TIMEOUT
dCOMMANDS STILL IN PROGRESS:


и второй:

99show version
100show debug-file-directory
101set print object on
102set breakpoint pending on
103set print elements 10000
104set unwindonsignal on
105set width 0
106set height 0
Настройка подчинённого...
107set substitute-path C:/iwmake/build_mingw_opensource C:/Qt/4.8.5
108python sys.path.insert(1, 'C:/Qt/qtcreator-4.8.0-beta1/share/qtcreator/debugger/')
109python sys.path.append('C:/QNX650/host/win32/x86/usr/bin/data-directory/python')
110python from gdbbridge import *
111python theDumper.loadDumpers({"token":111})
112-interpreter-exec console "set target-async off"
Ошибка отладки
Программа завершилась с ошибкой: No symbol table is loaded.  Use the "file" command.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP © 2002-2020 СВД Встраиваемые Системы.
При использовании материалов сайта ссылка на forum.kpda.ru обязательна.

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines | © Aiwan. Kolobok smiles | Sitemap
Valid XHTML 1.0! Valid CSS!
Сайт СВД ВС

В последний раз google посещал эту страницу 23 Февраль, 2024, 18:04:45