- Не Windows единой: как писать кроссплатформенные приложения с GUI на C#
- Какой фреймворк выбрать
- Как начать использовать AvaloniaUI
- Создаём калькулятор на AvaloniaUI
- Учебник. Создание кроссплатформенных проектов C++ в Visual Studio Tutorial: Create C++ cross-platform projects in Visual Studio
- Предварительные требования Prerequisites
- Клонирование проекта CMake с открытым кодом с сайта GitHub Clone an open-source CMake project from GitHub
- Переключение на представление целевых объектов Switch to targets view
- Добавление явной конфигурации Windows x64-Debug Add an explicit Windows x64-Debug configuration
- Установка точки останова, сборка и запуск в Windows Set a breakpoint, build, and run on Windows
- Добавление конфигурации Linux и подключение к удаленному компьютеру Add a Linux configuration and connect to the remote machine
- Установка точки останова, сборка и запуск в Linux Set a breakpoint, build, and run on Linux
- Чему вы научились What you learned
- Следующие шаги Next steps
Не Windows единой: как писать кроссплатформенные приложения с GUI на C#
На C# можно создавать красивые приложения, но до недавних пор — не для всех платформ. Рассказываем, как писать одно приложение для всех ОС сразу.
Microsoft выпустила уже третью версию кроссплатформенного .NET Core с открытым исходным кодом, но мы до сих пор не получили инструмента для создания графических интерфейсов.
Пока есть Xamarin, который можно использовать только для Windows 10 и мобильных устройств. Но что делать тем, кто хочет создавать графические интерфейсы для Linux или Mac OS?
Тут помогут фреймворки от сторонних разработчиков.
Пишет о программировании, в свободное время создает игры. Мечтает открыть свою студию и выпускать ламповые RPG.
Какой фреймворк выбрать
Мне удалось найти 2 более-менее популярных фреймворка (оба основаны на Skia ):
- SpaceVIL. Он привлёк меня тем, что в нём элементы GUI отрисовываются, а не берутся из API операционной системы. Поэтому приложение будет выглядеть одинаково на всех устройствах. В нём даже можно создавать собственные элементы любого вида. Однако он пока достаточно сырой — об этом говорит уже то, что в официальной документации есть ошибки в инструкции для новичков.
- AvaloniaUI. Это более популярный и проработанный фреймворк, который позволяет создавать интерфейсы как для мобильных устройств, так и для Linux и OS X. Также в нём используется диалект XAML, что будет плюсом для тех, кто пробовал создавать приложения для Windows. В нём даже есть поддержка MVVM.
Я попробовал оба, и второй показался мне более удобным: в нём есть язык разметки, поддержка MVVM, быстрая установка, лёгкий переход с WPF. Поэтому я выбрал его.
Как начать использовать AvaloniaUI
Я буду создавать приложение в Linux Ubuntu, но эта инструкция подойдёт всем, кто использует .NET Core. Создавать приложения можно и в Visual Studio, скачав для него расширение, но так как его нет на Linux, я буду пользоваться терминалом.
Для начала клонируйте себе на компьютер этот репозиторий:
В нём находятся шаблоны для создания приложения с AvaloniaUI. Если вы не умеете пользоваться git, то просто скачайте содержимое и распакуйте куда-нибудь на компьютере. Затем откройте консоль и введите следующую команду:
Она установит шаблоны для создания приложения. Чтобы проверить, добавились ли шаблоны, используйте команду:
Вы увидите список всех установленных шаблонов. Среди них должны быть Avalonia Window, Avalonia .NET Core MVVM App, Avalonia UserControl и Avalonia .NET Core App. Если они на месте, можно продолжать.
Откройте в консоли папку, в которой хотите создать проект, и введите:
Будет создано приложение с использованием MVVM. Практически вся документация по AvaloniaUI написана с использованием этого паттерна, поэтому проще будет разрабатывать на нём.
Теперь можно приступать к работе над приложением.
Создаём калькулятор на AvaloniaUI
У вас будут созданы следующие папки
- Assets — сюда можно загружать различные компоненты программы вроде иконок, изображений, звуков и прочего.
- Models — эта папка предназначена для классов, которые будут выступать в роли модели.
- ViewModels — здесь находятся классы-посредники между видом и моделью.
- Views — все окна будут находиться здесь.
Сначала посмотрим в файл Program.cs в корневом каталоге:
Нас интересует метод AppMain(). В нём создаётся окно (MainWindow) с указанием DataContext (используется для привязки данных), а потом это окно запускается.
В этом методе можно определить свою логику инициализации приложения. Например, объявить экземпляр модели и передать его в конструктор MainWindowViewModel(). Однако перед этим нужно определить конструктор, который будет принимать такой аргумент.
У нас очень простое приложение, поэтому мы реализуем всю логику прямо в MainWindowViewModel.cs. Там будут необходимые свойства и методы.
Для начала нужно подключить пространство имён ReactiveUI, которое в AvaloniaUI используется для реализации паттерна MVVM:
Учебник. Создание кроссплатформенных проектов C++ в Visual Studio Tutorial: Create C++ cross-platform projects in Visual Studio
Разработка Visual Studio C и C++ теперь подходит не только для Windows. Visual Studio C and C++ development isn’t just for Windows anymore. В этом руководстве показано, как использовать Visual Studio для C++ межплатформенной разработки в Windows и Linux. This tutorial shows how to use Visual Studio for C++ cross platform development on Windows and Linux. Он основан на CMake, поэтому вам не нужно создавать или генерировать проекты Visual Studio. It’s based on CMake, so you don’t have to create or generate Visual Studio projects. При открытии папки с файлом CMakeLists.txt Visual Studio настраивает IntelliSense и параметры сборки автоматически. When you open a folder that contains a CMakeLists.txt file, Visual Studio configures the IntelliSense and build settings automatically. Вы можете быстро приступить к редактированию, сборке и отладке кода локально в Windows. You can quickly start editing, building, and debugging your code locally on Windows. Затем можно переключить конфигурацию для того, чтобы сделать то же самое в Linux, в Visual Studio. Then, switch your configuration to do the same on Linux, all from within Visual Studio.
В этом руководстве вы узнаете, как: In this tutorial, you learn how to:
- Клонировать проект CMake с открытым кодом с сайта GitHub. clone an open-source CMake project from GitHub
- Открывать проект в Visual Studio. open the project in Visual Studio
- Собирать и отлаживать исполняемый целевой объект на Windows. build and debug an executable target on Windows
- Добавлять подключение к компьютеру Linux. add a connection to a Linux machine
- Собирать и отлаживать тот же целевой объект в Linux. build and debug the same target on Linux
Предварительные требования Prerequisites
Настройка Visual Studio для кроссплатформенной разработки на C++ Set up Visual Studio for Cross Platform C++ Development
- Сначала установите Visual Studio и выберите Разработка классических приложений на C++ и Разработка для Linux на C++ . First, install Visual Studio and choose the Desktop development with C++ and Linux development with C++ workloads. Для минимальной установки требуется всего 3 ГБ свободного места на диске. This minimal install is only 3 GB. В зависимости от скорости загрузки установка не должна занять более 10 минут. Depending on your download speed, installation shouldn’t take more than 10 minutes.
Настройка компьютера Linux для кроссплатформенной разработки на C++ Set up a Linux machine for Cross Platform C++ Development
Visual Studio не требует конкретный дистрибутив Linux. Visual Studio doesn’t require any specific distribution of Linux. Операционная система может работать на физическом компьютере, на виртуальной машине или в облаке. The OS can be running on a physical machine, in a VM, or in the cloud. Также можно использовать подсистему Windows для Linux (WSL). You could also use the Windows Subsystem for Linux (WSL). Однако в рамках этого руководства требуется графическая среда. However, for this tutorial a graphical environment is required. WSL не рекомендуется использовать здесь, поскольку она предназначена в основном для операций командной строки. WSL isn’t recommended here, because it’s intended primarily for command-line operations.
На компьютере Linux должны быть установлены следующие средства Visual Studio: компиляторы C++, gdb, ssh, rsync, make и zip. Visual Studio requires these tools on the Linux machine: C++ compilers, gdb, ssh, rsync, make, and zip. В системах на основе Debian эти зависимости можно установить с помощью следующей команды: On Debian-based systems, you can use this command to install these dependencies:
Visual Studio требует наличия на компьютере Linux последней версии CMake с включенным режимом сервера (не ниже 3.8). Visual Studio requires a recent version of CMake on the Linux machine that has server mode enabled (at least 3.8). Корпорация Майкрософт предлагает универсальную сборку CMake, которую можно установить на любой дистрибутив Linux. Microsoft produces a universal build of CMake that you can install on any Linux distro. Мы рекомендуем использовать эту сборку, чтобы у вас были самые новые функции. We recommend you use this build to ensure that you have the latest features. Вы можете получить двоичные файлы CMake из вилки Майкрософт репозитория CMake на сайте GitHub. You can get the CMake binaries from the Microsoft fork of the CMake repo on GitHub. Перейдите на эту страницу и загрузите версию, соответствующую архитектуре вашей системы на компьютере Linux, а затем пометьте ее как исполняемый файл: Go to that page and download the version that matches the system architecture on your Linux machine, then mark it as an executable:
Вы увидите параметры для запуска скрипта с -–help . You can see the options for running the script with -–help . Рекомендуется использовать параметр –prefix , чтобы указать установку по пути /usr, потому что это расположение по умолчанию Visual Studio выполняет поиск CMake в каталоге /usr/bin. We recommend that you use the –prefix option to specify installing in the /usr path, because /usr/bin is the default location where Visual Studio looks for CMake. В следующем примере показан скрипт Linux x86_64. The following example shows the Linux-x86_64 script. Измените этот параметр на нужный, если вы используете другую целевую платформу. Change it as needed if you’re using a different target platform.
Git для Windows, установленный на компьютере Windows. Git for windows installed on your Windows machine.
Учетная запись GitHub. A GitHub account.
Клонирование проекта CMake с открытым кодом с сайта GitHub Clone an open-source CMake project from GitHub
В этом руководстве используется пакет SDK Bullet Physics на сайте GitHub. This tutorial uses the Bullet Physics SDK on GitHub. Он обеспечивает обнаружение столкновений и физическое моделирование для многих приложений. It provides collision detection and physics simulations for many applications. Пакет SDK включает примеры исполняемых программ, которые компилируются и запускаются без дополнительного кода. The SDK includes sample executable programs that compile and run without having to write additional code. В этом учебнике не изменяются исходный код или скрипты сборки. This tutorial doesn’t modify any of the source code or build scripts. Для начала клонируйте репозиторий bullet3 из GitHub на компьютер, где установлена среда Visual Studio. To start, clone the bullet3 repository from GitHub on the machine where you have Visual Studio installed.
В главном меню Visual Studio выберите Файл > Открыть > CMake. On the Visual Studio main menu, choose File > Open > CMake. Перейдите к файлу CMakeLists. txt в корне только что скачанного репозитория bullet3. Navigate to the CMakeLists.txt file in the root of the bullet3 repo you just downloaded.
Открыть > CMake» data-linktype=»relative-path»>
Когда вы откроете эту папку, структура папок отобразится в обозревателе решений. As soon as you open the folder, your folder structure becomes visible in the Solution Explorer.
В этом представлении показано, что фактически находится на диске. Это не логическое или отфильтрованное представление. This view shows you exactly what is on disk, not a logical or filtered view. По умолчанию оно не показывает скрытые файлы. By default, it doesn’t show hidden files.
Выберите Показать все файлы, чтобы просмотреть полный список файлов в папке. Choose the Show all files button to see all the files in the folder.
Переключение на представление целевых объектов Switch to targets view
Когда вы откроете папку, которая использует CMake, Visual Studio автоматически создаст кэш CMake. When you open a folder that uses CMake, Visual Studio automatically generates the CMake cache. Эта операция может занять некоторое время в зависимости от размера проекта. This operation might take a few moments, depending on the size of your project.
В окне вывода выберите Показать выходные данные из и выберите CMake для отслеживания состояния процесса создания кэша. In the Output Window, select Show output from and then choose CMake to monitor the status of the cache generation process. По завершении операции отображается надпись: «Извлечение сведений о целевом объекте выполнено». When the operation is complete, it says «Target info extraction done».
После завершения этой операции будет настроена технология IntelliSense. After this operation completes, IntelliSense is configured. Можно выполнить сборку проекта и отладить приложение. You can build the project, and debug the application. В Visual Studio теперь отображается логическое представление решения, основанное на целевых объектах, заданных в файлах CMakeLists. Visual Studio now shows a logical view of the solution, based on the targets specified in the CMakeLists files.
Нажмите кнопку Решения и папки в обозревателе решений, чтобы переключиться на представление целевых объектов CMake. Use the Solutions and Folders button in the Solution Explorer to switch to CMake Targets View.
Вот как это представление выглядит для пакета SDK Bullet: Here is what that view looks like for the Bullet SDK:
Представление целевых объектов обеспечивает более интуитивное отображение содержимого исходной базы. Targets view provides a more intuitive view of what is in this source base. Вы увидите, что некоторые целевые объекты являются библиотеками, а другие — исполняемыми файлами. You can see some targets are libraries and others are executables.
Разверните узел в представлении целевых объектов CMake, чтобы просмотреть его файлы исходного кода, где бы эти файлы ни находились на диске. Expand a node in CMake Targets View to see its source code files, wherever those files might be located on disk.
Добавление явной конфигурации Windows x64-Debug Add an explicit Windows x64-Debug configuration
Visual Studio создает конфигурацию x64-Debug по умолчанию для Windows. Visual Studio creates a default x64-Debug configuration for Windows. Конфигурации указывают Visual Studio, какую платформу она будет использовать для CMake. Configurations are how Visual Studio understands what platform target it’s going to use for CMake. Конфигурация по умолчанию не представлена на диске. The default configuration isn’t represented on disk. При явном добавлении конфигурации Visual Studio создает файл с именем CMakeSettings.json. When you explicitly add a configuration, Visual Studio creates a file called CMakeSettings.json. Он заполняется параметрами для всех указанных конфигураций. It’s populated with settings for all the configurations you specify.
Добавьте новую конфигурацию. Add a new configuration. На панели инструментов откройте раскрывающийся список Конфигурация и выберите Управление конфигурациями. Open the Configuration drop-down in the toolbar and select Manage Configurations.
Откроется редактор параметров CMake. The CMake Settings Editor opens. Щелкните зеленый значок плюса в левой части редактора, чтобы добавить новую конфигурацию. Select the green plus sign on the left-hand side of the editor to add a new configuration. Откроется диалоговое окно Добавление конфигурации в CMakeSettings. The Add Configuration to CMakeSettings dialog appears.
В этом диалоговом окне представлены все конфигурации, которые входят в состав Visual Studio, а также все созданные вами настраиваемые конфигурации. This dialog shows all the configurations included with Visual Studio, plus any custom configurations that you create. Если вы хотите продолжать использовать конфигурацию x64-Debug, добавьте ее в первую очередь. If you want to continue to use a x64-Debug configuration, that should be the first one you add. Выберите x64-Debug, а затем нажмите кнопку Выбрать. Select x64-Debug, and then choose the Select button. Visual Studio создает файл CMakeSettings.json с конфигурацией для x64-Debug и сохраняет ее на диске. Visual Studio creates the CMakeSettings.json file with a configuration for x64-Debug, and saves it to disk. Вы можете назвать конфигурацию как угодно, изменив параметр имени непосредственно в CMakeSettings.json. You can use whatever names you like for your configurations by changing the name parameter directly in CMakeSettings.json.
Установка точки останова, сборка и запуск в Windows Set a breakpoint, build, and run on Windows
На этом шаге нам предстоит отладить пример программы, демонстрирующий библиотеку Bullet Physics. In this step, we’ll debug an example program that demonstrates the Bullet Physics library.
В обозревателе решений выберите AppBasicExampleGui и разверните его. In Solution Explorer, select AppBasicExampleGui and expand it.
Откройте файл BasicExample.cpp . Open the file BasicExample.cpp .
Задайте точку останова, которая будет выполняться при щелчке кнопки в работающем приложении. Set a breakpoint that gets hit when you click in the running application. Событие щелчка обрабатывается в методе внутри вспомогательного класса. The click event is handled in a method within a helper class. Для быстрого перехода: To quickly get there:
Выберите CommonRigidBodyBase , из которого происходит структура BasicExample , Select CommonRigidBodyBase that the struct BasicExample is derived from. около строки 30. It’s around line 30.
Щелкните правой кнопкой мыши и выберите Перейти к определению. Right-click and choose Go to Definition. Вы находитесь в заголовке CommonRigidBodyBase.h. Now you’re in the header CommonRigidBodyBase.h.
В представлении браузера выше вы увидите, что находитесь в CommonRigidBodyBase . In the browser view above your source, you should see that you’re in the CommonRigidBodyBase . Справа можно выбрать элементы для проверки. To the right, you can select members to examine. Щелкните раскрывающийся список и выберите mouseButtonCallback , чтобы перейти к определению функции в заголовке. Open the drop-down and select mouseButtonCallback to go to the definition of that function in the header.
Поместите точку останова на первой строке в этой функции. Place a breakpoint on the first line within this function. Она будет выполняться при нажатии кнопки мыши в окне приложения при запуске в отладчике Visual Studio. It gets hit when you click a mouse button within the window of the application, when run under the Visual Studio debugger.
Чтобы запустить приложение, выберите на панели инструментов раскрывающийся список запуска. To launch the application, select the launch drop-down in the toolbar. Это зеленый значок воспроизведения с текстом «Выбрать элемент запуска». It’s the one with the green play icon that says «Select Startup Item». В раскрывающемся списке выберите AppBasicExampleGui.exe. In the drop-down, select AppBasicExampleGui.exe. Имя исполняемого файла теперь отображается на кнопке запуска: The executable name now displays on the launch button:
Нажмите кнопку запуска, чтобы выполнить сборку приложения и необходимых зависимостей, а затем запустите его с подключенным отладчиком Visual Studio. Choose the launch button to build the application and necessary dependencies, then launch it with the Visual Studio debugger attached. Через некоторое время появится работающее приложение: After a few moments, the running application appears:
Переместите указатель мыши в окно приложения, а затем нажмите кнопку для вызова точки останова. Move your mouse into the application window, then click a button to trigger the breakpoint. Точка останова снова выведет Visual Studio на передний план, а в редакторе отобразится строка, где выполнение приостановлено. The breakpoint brings Visual Studio back to the foreground, and the editor shows the line where execution is paused. Можно проверить переменные, объекты, потоки и память приложения, а также пошагово выполнить код. You can inspect the application variables, objects, threads, and memory, or step through your code interactively. Выберите Продолжить, чтобы позволить приложению возобновить работу, и закройте его в обычном режиме. Choose Continue to let the application resume, and then exit it normally. Или остановите выполнение в Visual Studio с помощью кнопки «Остановить». Or, halt execution within Visual Studio by using the stop button.
Добавление конфигурации Linux и подключение к удаленному компьютеру Add a Linux configuration and connect to the remote machine
Добавьте конфигурацию Linux. Add a Linux configuration. Щелкните правой кнопкой мыши файл CMakeSettings.json в обозревателе решений и выберите Добавить конфигурацию. Right-click the CMakeSettings.json file in the Solution Explorer view and select Add Configuration. Вы увидите то же диалоговое окно «Добавление конфигурации в CMakeSettings», что и раньше. You see the same Add Configuration to CMakeSettings dialog as before. На этот раз выберите Linux-Debug, а затем сохраните файл CMakeSettings.json (CTRL+S). Select Linux-Debug this time, then save the CMakeSettings.json file (ctrl + s).
Visual Studio 2019 версии 16.6 или более поздней версии: прокрутите вниз в редакторе параметров CMake и выберите Показать дополнительные параметры. Visual Studio 2019 version 16.6 or later Scroll down to the bottom of the CMake Settings Editor and select Show advanced settings. В качестве генератора CMake выберите Unix Makefiles, а затем сохраните файл CMakeSettings.json (CTRL+S). Select Unix Makefiles as the CMake generator, then save the CMakeSettings.json file (ctrl + s).
В раскрывающемся списке конфигураций выберите Linux-Debug. Select Linux-Debug in the configuration drop-down.
Если это первое подключение к системе Linux, откроется диалоговое окно Подключение к удаленной системе. If it’s the first time you’re connecting to a Linux system, the Connect to Remote System dialog appears.
Если вы уже добавили удаленное подключение, вы можете открыть это окно в разделе Сервис > Параметры > Кроссплатформенный > Диспетчер подключений. If you’ve already added a remote connection, you can open this window by navigating to Tools > Options > Cross Platform > Connection Manager.
Укажите сведения о подключении к компьютеру Linux и нажмите Подключить. Provide the connection information to your Linux machine and choose Connect. Visual Studio добавляет этот компьютер в CMakeSettings.json как подключение по умолчанию для Linux-Debug. Visual Studio adds that machine as to CMakeSettings.json as your default connection for Linux-Debug. Он также извлекает заголовки из удаленного компьютера, чтобы вы могли получить IntelliSense специально для этого удаленного подключения. It also pulls down the headers from your remote machine, so you get IntelliSense specific to that remote connection. Затем Visual Studio отправляет файлы на удаленный компьютер и создает кэш CMake в удаленной системе. Next, Visual Studio sends your files to the remote machine and generates the CMake cache on the remote system. Эти действия могут занять некоторое время в зависимости от скорости сети и мощности удаленного компьютера. These steps may take some time, depending on the speed of your network and power of your remote machine. Вы узнаете, что операция завершена, когда в окне вывода CMake появится сообщение: «Извлечение сведений о целевом объекте выполнено». You’ll know it’s complete when the message «Target info extraction done» appears in the CMake output window.
Установка точки останова, сборка и запуск в Linux Set a breakpoint, build, and run on Linux
Так как это классическое приложение, необходимо предоставить некоторые дополнительные сведения о конфигурации для конфигурации отладки. Because it’s a desktop application, you need to provide some additional configuration information to the debug configuration.
В представлении целевых объектов CMake щелкните правой кнопкой мыши AppBasicExampleGui и выберите Параметры отладки и запуска, чтобы открыть файл launch.vs.json, который находится в скрытой вложенной папке .vs. In the CMake Targets view, right-click AppBasicExampleGui and choose Debug and Launch Settings to open the launch.vs.json file that’s in the hidden .vs subfolder. Этот локальный файл для среды разработки. This file is local to your development environment. Вы можете переместить его в корень проекта, если хотите проверить его и сохранить для своей команды. You can move it into the root of your project if you wish to check it in and save it with your team. В этот файл была добавлена конфигурация для AppBasicExampleGui. In this file, a configuration has been added for AppBasicExampleGui. Эти параметры по умолчанию работают в большинстве случаев, но не здесь. These default settings work in most cases, but not here. Поскольку это классическое приложение, необходимо предоставить некоторые дополнительные сведения, чтобы запустить программу и увидеть ее на компьютере Linux. Because it’s a desktop application, you need to provide some additional information to launch the program so you can see it on your Linux machine.
Чтобы найти значение переменной среды DISPLAY на компьютере Linux, выполните следующую команду: To find the value of the environment variable DISPLAY on your Linux machine, run this command:
В конфигурации для AppBasicExampleGui существует массив параметров «pipeArgs». In the configuration for AppBasicExampleGui, there’s a parameter array, «pipeArgs». В нем есть строка «$
Запустите приложение и выполните его отладку. Launch and debug your application. На панели инструментов откройте раскрывающийся список Выбрать элемент запуска и выберите AppBasicExampleGui. Open the Select Startup Item drop-down in the toolbar and choose AppBasicExampleGui. Затем либо выберите зеленый значок воспроизведения на панели инструментов, либо нажмите клавишу F5. Next, either choose the green play icon in the toolbar, or press F5. Приложение и его зависимости будут собраны на удаленном компьютере Linux. После чего приложение будет запущено с подключенным отладчиком Visual Studio. The application and its dependencies are built on the remote Linux machine, then launched with the Visual Studio debugger attached. На удаленном компьютере Linux вы увидите окно приложения. On your remote Linux machine, you should see an application window appear.
Переместите указатель мыши в окно приложения, а затем нажмите кнопку. Move your mouse into the application window, and click a button. Сработает точка останова. The breakpoint is hit. Выполнение программы приостанавливается, Visual Studio возвращается на передний план, вы увидите точку останова. Program execution pauses, Visual Studio comes back to the foreground, and you see your breakpoint. Кроме того, вы увидите окно консоли Linux в Visual Studio. You should also see a Linux Console Window appear in Visual Studio. В этом окне предоставлены выходные данные с удаленного компьютера Linux, а также оно может принимать входные данные для stdin . The window provides output from the remote Linux machine, and it can also accept input for stdin . Как и любое окно Visual Studio, вы можете закрепить его в предпочтительном месте. Like any Visual Studio window, you can dock it where you prefer to see it. Его расположение сохраняется в будущих сеансах. Its position is persisted in future sessions.
Вы можете проверить переменные, объекты, потоки и память приложения и пошагово выполнить код с помощью Visual Studio. You can inspect the application variables, objects, threads, memory, and step through your code interactively using Visual Studio. Но на этот раз вы выполняете все это на удаленном компьютере Linux вместо локальной среды Windows. But this time, you’re doing it all on a remote Linux machine instead of your local Windows environment. Выберите Продолжить, чтобы приложение возобновило работу, выйдите из него обычным образом или нажмите кнопку остановки, как и при локальном выполнении. You can choose Continue to let the application resume and exit normally, or you can choose the stop button, just as with local execution.
Посмотрите на окно стека вызовов и увидите вызовы к x11OpenGLWindow , поскольку среда Visual Studio запустила приложение в Linux. Look at the Call Stack window and view the Calls to x11OpenGLWindow since Visual Studio launched the application on Linux.
Чему вы научились What you learned
В этом руководстве вы клонировали базу кода непосредственно из GitHub. In this tutorial, you cloned a code base directly from GitHub. Вы создали, запустили и отладили его в Windows без изменений. You built, ran, and debugged it on Windows without modifications. Затем вы использовали эту же самую базу кода, с незначительными изменениями конфигурации, для сборки, запуска и отладки на удаленном компьютере Linux. Then you used the same code base, with minor configuration changes, to build, run, and debug on a remote Linux machine.
Следующие шаги Next steps
Дополнительные сведения о настройке и отладке проектов CMake в Visual Studio: Learn more about configuring and debugging CMake projects in Visual Studio: