Создание wxWidgets Привет, мир

Пример wxWidgets hello world не предоставляет достаточной информации для создания wxWidgets в какой-либо конкретной среде.

Code :: Blocks Пример приветствия wxWidgets действительно предоставляет достаточную информацию, но маловероятно, что новичок или даже довольно искушенный пользователь сможет самостоятельно выяснить все необходимые шаги, потому что требуются тайные магические слова.

Пример Code Yarns использует CMake, поэтому может работать во многих конкретных средах, но, похоже, предполагает, что вы уже настроили wxWidgets и скомпилировали его для своей конкретной среды, и, похоже, нет файла CMakeLists.txt для компиляции wxWidgets для вашего конкретного среда.

wxWidgets должен быть кроссплатформенным и кросс-средой, и я пытаюсь настроить проект для компиляции в нескольких средах: в Windows10 Visual Studio, Windows 10 TDM-GCC, Windows 10 Code :: Blocks, Ubuntu Code :: Blocks, и Ubuntu 10 gcc.

И кроме среды Code :: Blocks, возникшие проблемы. Помимо Code :: Blocks, я не могу найти примеры "Hello World", которые действительно устанавливают wxWidgets на целевом объекте, чтобы Hello World действительно компилировался и запускался.

Каталог образцов wxWidgets не особенно полезен, поскольку образцы предполагают среду и не описывают настройку этой среды и действия, которые приведут к сборке и запуску образца.

Что такое вопрос? Вы просите еще один гид? Если да, то это не по теме при переполнении стека. Возьмите любое существующее руководство и постарайтесь ему следовать. Если какой-либо шаг вызывает проблему, спросите о конкретном шаге и конкретной проблеме (но попробуйте погуглить, прежде чем спрашивать).

Tsyvarev 10.03.2018 10:16

@studie, ничего устанавливать не надо. Просто соберите библиотеку и начните разработку.

Igor 12.03.2018 15:22

@studie, твой вопрос кажется очень странным. Инструкции по сборке сэмпла не имеют ничего общего с инструкциями по сборке библиотеки. Я рад, что вы нашли то, что искали, но в будущем вам нужно указать именно то, что вы ищете. Спасибо.

Igor 16.03.2018 18:11
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
2
3
803
4

Ответы 4

Чтобы создать приложение, сначала вам нужно скомпилировать библиотеку. Для этого вы можете получить предварительно скомпилированные двоичные файлы или исходники (см. Загрузки) и скомпилировать их самостоятельно (см. Строительство).

Инструкции могут быть не идеальными для всех, и вы можете их улучшить - даже назовите это вашим первым вкладом;)

Информация, которую я искал в этом вопросе, находится в каталоге Docs в wxWidgets / docs / install.txt, на который указывает wxWidgets / docs / readme.txt

studie 11.03.2018 13:17

Вы, вероятно, имеете в виду docs/<port>/install.txt, на что указывает ссылка выше Building.

catalin 11.03.2018 14:13

Инструкции по установке, которые я искал, можно найти в wxWidgets / docs / install.txt.

Не может быть, так как docs/install.txt нет, смотрите сами официальный репозиторий. github.com/wxWidgets/wxWidgets/tree/master/docs

catalin 11.03.2018 14:11

Да, я исправлюсь: инструкции для Microsoft Windows находятся в wxWidget-X.X.X / docs / msw / install.txt, а инструкции для Linux находятся в wxWidget-X.X.X / docs / gtk / install.txt

studie 13.03.2018 11:38

Инструкция по установке

Я знаю, что это старый вопрос, но мне очень трудно было найти руководство по установке на wxwidgets. Вы можете использовать импортер vckpg от Microsoft. Перед выполнением этой процедуры убедитесь, что у вас установлен git. Я напишу это для Windows с Visual Studio 2017:

  1. Клонируйте следующий репозиторий в каталог по вашему выбору: git clone https://www.github.com/Microsoft/vcpkg
  2. Затем откройте powershell (ps) (запустите его от имени администратора) и перейдите к клонированной папке vcpkg.
  3. Теперь в ps, пока вы находитесь в папке vcpkg, выполните следующую команду \.vcpkg integrate install, чтобы мы получили общедоступную интеграцию диспетчера пакетов vcpkg и можем # включать библиотеки в наши проекты на C++.

  4. Теперь, чтобы установить 32-разрядную версию wxwidgets, запустите \.vcpkg install wxwidgets --triplet x86-windows. Для 64-битной версии запустите \.vcpkg install wxwidgets --triplet x64-windows

  5. Теперь откройте свойства вашего проекта в Visual Studio.
  6. Для интеграции 64-битной версии wxwidgets выберите все конфигурации и платформу x64. Затем перейдите в C / C++ -> Общие -> Дополнительные каталоги включения и добавьте следующий путь к папке YOUR_FOLDER_PATH\vcpkg\packages\wxwidgets_x64-windows\include;YOUR_FOLDER_PATH\vcpkg\packages\wxwidgets_x64-windows\lib. Сделайте то же самое для конфигурации x86, но вместо этого используйте путь к папке wxwidgets_x86-windows.
  7. В качестве последнего шага перейдите в свойства в разделе C / C++ -> Preprocessor и в разделе Preprocessordefinition добавьте следующее в качестве дополнительной точки WXUSINGDLL=1 (сделайте это для конфигурации платформы x64 и x86, если вы хотите использовать оба)

Теперь у вас должна быть возможность использовать библиотеку и запустить проект hello world.

Есть несколько способов настроить wxWidgets в Windows и использовать его в проекте. Если ваш проект будет использовать CMake, есть 2 основных варианта (кроме компиляции самостоятельно каким-либо другим способом):

  1. Используйте vcpkg - который, по идее, самый простой, но я не смог заставить его работать (вовремя). Вот немного информации по этому поводу: https://www.wxwidgets.org/blog/2019/01/wxwidgets-and-vcpkg/ Проблема в том, что find_package не удалось найти пакет, поэтому я просто перешел к 2:
  2. Загрузите последние скомпилированные заголовки, библиотеки и бины из виджетов wx и поместите их в папку типа c: / wxwidgets. Затем в вашем файле Cmake перед вызовом find_package выполните:

SET(wxWidgets_ROOT_DIR "c:/wxwidgets/")

SET(wxWidgets_LIB_DIR "c:/wxwidgets/lib/vc14x_x64_dll")

SET(wxWidgets_CONFIGURATION "mswd")

В моем случае LIB_DIR использует VS2019 x64. mswd просто означает создание этого для отладки

Наконец, добавляя исполняемый файл, не забывайте WIn32:

add_executable(membot WIN32 ${project_SRCS})

P.S .: Не забудьте извлечь папку заголовков включать рядом с lib.

Другие вопросы по теме