Надеюсь сейчас правильный вопрос и тапками не забьете.
Вот пришлось мне по мелочи доработать некую либу, разработка под MacOS. Либу автор распространяет с открытым кодом и прилагает .sh+CMake-скрипты для сборки.
Первое время я правил в CotEditor (или подобном) по мелочи и потом собирал скриптами.
Потом открыл всю папку в VS Code (с плагинами). И тут дело вот в чем — оно не идет как полноценная IDE. Вернее как — простой проект я в ней могу собрать и прямо оттуда запустить, а вот настроить полную конфигурацию для запуска большого проекта — не ясно как. Ну и оно особо не горит как бы — кое-что VS Code подсказывает, но до полноценной IDE далеко.
Т.е. натыкиваю ее вызов везде по шагам, где возникает проблема — так и живу.
Понятно что все ошибки перехватить не возможно — но можно обнаружить в каком месте возникает проблема хотя бы а потом догадаться.
Как мне перейти на новый уровень? Есть ли пошаговая инструкция или книга, желательно с картинками?
Как я понимаю, самое простое — открыть проект в полноценной IDE. А можно еще просто подключаться дебаггером к процессу. Где взять бы инструкции на все это?
Здравствуйте, Shmj, Вы писали:
S>Надеюсь сейчас правильный вопрос и тапками не забьете.
S>Вот пришлось мне по мелочи доработать некую либу, разработка под MacOS. Либу автор распространяет с открытым кодом и прилагает .sh+CMake-скрипты для сборки.
S>Как я понимаю, самое простое — открыть проект в полноценной IDE. А можно еще просто подключаться дебаггером к процессу. Где взять бы инструкции на все это?
Непонятно в чем сложность. Запускаете "cmake -GXcode path/to/CMakeLists.txt",
открываете получившийся в XCode "open -a Xcode *.xcodeproj".
Далее выбираете в проекте исполняемый файл, выбираете файл с функцией "main",
ставите breakpoint и нажимаете Command-R, чтобы запустить файл.
Здравствуйте, Shmj, Вы писали:
S>Как я понимаю, самое простое — открыть проект в полноценной IDE. А можно еще просто подключаться дебаггером к процессу. Где взять бы инструкции на все это?
Под MacOS есть такие пути:
1. Для VSCode тебе нужно настроить файл launch.json https://code.visualstudio.com/docs/cpp/launch-json-reference и всё сразу у тебя есть — запускаешь, ставишь брейкпойнты, отлаживаешься
2. Для XCode примерно такая же схема — создаёшь проект — перетаскиваешь туда свой корневой директорий как ссылку, настраиваешь New Scheme... для запуска своего бинарника и можно отлаживаться
3. Использовать lldb. lldb ./shmjapp — уже более консольный вид, но некоторым нравится. После загрузки ставишь брейкпойнты
b MyFunction
и запускаешь на выполнение
r [arg1] [arg2]..
команды для lldb — в интернете
Все три варианта позволяют как запускать процесс, так и подключаться к уже запущенному.
Здравствуйте, VVV, Вы писали:
VVV>Под MacOS есть такие пути: VVV>1. Для VSCode тебе нужно настроить файл launch.json https://code.visualstudio.com/docs/cpp/launch-json-reference и всё сразу у тебя есть — запускаешь, ставишь брейкпойнты, отлаживаешься
Его только вручную создавать? Для маленького проекта я как-то создал и оно работает (хотя почему то не видит доп. файлы cpp — не понял как подключить). Как быть с большим проектом, который состоит из подпроектов?
Есть где-то подробнее про создание этих launch-json?
VVV>2. Для XCode примерно такая же схема — создаёшь проект — перетаскиваешь туда свой корневой директорий как ссылку, настраиваешь New Scheme... для запуска своего бинарника и можно отлаживаться
Ну тут чел. выше дал ключ — оказывается cmake -GXcode все сам поделает.
Нет ли такого же ключа для VS Code или QT Creator?
Здравствуйте, Shmj, Вы писали:
Z>>Непонятно в чем сложность. Запускаете "cmake -GXcode path/to/CMakeLists.txt",
S>А откуда вы об этом узнали? Действительно сработало.
Так cmake же генератор проектных файлов, естественно он умеет под все популярные IDE
и системы сборки генерировать.
S>Можно ли так же сделать для QT или VS Code?
А зачем? "VS Code" с дополнением "cmake что-то там" умеет открывать CMakeLists.txt
напрямую, и сборка и запуск и отладка будут работать.
Тоже самое с "Qt Creator", в нем даже никаких плагинов ставить не нужно,
он умеет с CMakeLists.txt работать из коробки.
То есть задавая так: "program": "${command:cmake.launchTargetPath}",
Выбирать потом что запускать, если несколько целей, можно в статус баре внизу, там же и запускать можно по кнопке.
Z>>Непонятно в чем сложность. Запускаете "cmake -GXcode path/to/CMakeLists.txt",
S>А откуда вы об этом узнали? Действительно сработало.
S>Можно ли так же сделать для QT или VS Code?