我是Vala的新手,学习为基本OS Hera(基于Ubuntu 18.04.3)编写GTK应用程序。我找不到任何有关如何为程序编写make文件的文档。
我希望将我的.vala文件组织在项目根目录的'src'文件夹下。我也不知道如何为vala编译器指定可执行文件的名称。它只是从vala源文件的名称中获取名称。
有人可以在Vala中为Makefile指定语法吗?
Vala编译器valac
具有--output
用于命名生成的二进制文件的参数。例如:
valac my_source_file.vala --output myprogram
使用valac --help
找到更多的编译器选项。
一个简单的Makefile
可能是:
sources = $(wildcard src/*.vala)
myprogram:
valac $(sources) --output myprogram
将其另存为Makefile
项目目录,然后发出命令make
or make myprogram
,您将myprogram
构建二进制文件。有几件事要注意:
src
目录中包含所有Vala源文件许多新的Vala项目正在使用Meson构建系统,因为它非常快且语法更简洁。使用Meson,一个简单的meson.build
文件可能是:
project('myprogram project', 'vala', 'c')
dependencies = [
dependency('glib-2.0'),
dependency('gobject-2.0'),
]
sources = []
subdir('src')
executable('myprogram', sources, dependencies: dependencies)
保存此项目的目录,然后在src
目录中的meson.build
文件,该文件明确列出的源文件:
sources += files(
'a.vala',
'b.vala',
)
请注意,subdir()
使用目录中的meson.build
文件src
将源文件附加到sources
变量。
要构建项目,首先设置构建目录。从项目目录执行此操作:
meson setup builddir
然后构建项目:
ninja -C builddir
您可能需要使用ninja-build
基于Red Hat的发行版,例如Fedora。可执行文件myprogram
位于中builddir
。
如果更改了源文件,则ninja -C builddir
无需删除任何内容即可进行重建。
随着项目的发展,您会发现Meson比使用Makefile更容易管理。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句