如何在Windows上使用wxWidgets设置介子项目?

时间:2018-12-13 18:49:01

标签: windows clang wxwidgets meson-build

我正在尝试新的设置。我使用的是64位Windows10。我在Visual Studio 2017上安装了介子示例项目和clang编译器堆栈。两者都在我的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 :(得分:1)

尝试添加 模块

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

here所述。

答案 1 :(得分:1)

MesonwxWidgets的依赖性仅支持wx-config工具,该工具最初是为for *nix only设计的。因此,您需要首先获得wx-config Windows本机端口才能使其与VC++一起使用。

顺便说一句。也许甚至最简单的事情就是自己编写,因为它只是一个常规的控制台应用程序,它解析命令行并吐出stdout相应的编译器/链接器标志。

  

也许我应该使用MinGW wxWitgets软件包?

当然可以,但是那时候您还必须切换到gcc/g++。此外,MesonwxWidgets的{​​{1}}依存关系is still broken。问题是MSYS2/MinGW错误地尝试直接执行Meson,而在Windows下它必须以wx-config或其他前缀为前缀。解决这个问题不是大问题,但您仍然需要做一些工作。