Как настроить проект meson с помощью wxWidgets, зависит от Windows? - PullRequest
0 голосов
/ 13 декабря 2018

Я пробую новую настройку.Я на 64-битной Windows 10. У меня есть пример проекта meson и стек компилятора clang в Visual Studio 2017. Оба они находятся в моем PATH.

[0/1] Regenerating build files.
The Meson build system Version: 0.49.0
Source dir: C:\WORK\cpp-example\wx-example
Build dir: C:\WORK\cpp-example\wx-example\builddir
Build type: native build
Project name: wx-example
Project version: undefined
Native C++ compiler: clang++ (clang 7.0.0 "clang version 7.0.0 (tags/RELEASE_700/final)")
Build machine cpu family: x86_64
Build machine cpu: x86_64
Found wx-config '>=3.0.0' NO
Dependency WxWidgets found: NO (tried config-tool)

meson.build:8:2: ERROR:  Dependency "wxwidgets" not found, tried config-tool

A full log can be found at C:\WORK\cpp-example\wx-example\builddir\meson-logs\meson-log.txt
FAILED: build.ninja

Мой meson.build равен

project('wx-example', 'cpp')

#if build_machine.system() == 'windows'
#  cpp = meson.get_compiler('cpp')
#  add_project_link_arguments(['C:\WORK\wxWidgets-3.1.2\include'], language : 'cpp')
#  wx_dep = cpp.find_library('wxwidgets', dirs : ['C:\WORK\wxWidgets-3.1.2\lib\vc_x64_dll'])
#else
  wx_dep = dependency('wxwidgets', version : '>=3.0.0', required : true)
#endif

executable('wx-example.exe', ['main.cpp'], dependencies : [wx_dep])

У вас есть идеи, как скомпилировать мой пример?Может мне стоит воспользоваться пакетом MinGW wxWitgets?

Ответы [ 2 ]

0 голосов
/ 15 января 2019
Зависимость

Meson для wxWidgets поддерживает только инструмент wx-config, который изначально был предназначен только для * nix .Поэтому вам нужно сначала получить wx-config собственный порт Windows, чтобы он работал с VC++.

Кстати.Возможно, даже самое простое - написать это самостоятельно, поскольку это обычное консольное приложение, которое анализирует командную строку и выплевывает вывод соответствующих флагов компилятора / компоновщика.

Может быть, яследует использовать пакет MinGW wxWitgets?

Ну, это, конечно, возможно, но тогда вам также придется переключиться на gcc/g++.Более того, зависимость Meson wxWidgets по-прежнему нарушена при MSYS2/MinGW.Проблема в том, что Meson ошибочно пытается выполнить wx-config напрямую, в то время как в Windows он должен иметь префикс env/sh/bash или что-то еще.Не большая проблема, чтобы исправить это, но у вас все еще есть работа.

UPD .: Кажется, проблема исправлена ​​в Meson 0.51.0

0 голосов
/ 10 января 2019

Попробуйте добавить модулей

wx_dep = dependency('wxwidgets', version : '>=3.0.0', required : true, modules : ['std', 'stc'])

, как описано здесь .

...