我是Vala的新手,学习为初级操作系统Hera编写GTK应用程序(基于Ubuntu18.04.3)。我找不到任何关于如何为我的程序编写一个make文件的文档。
我希望组织我的.vala文件在'src‘文件夹在项目的根。我也不知道如何为vala编译器指定可执行文件的名称。它只是从vala源文件的名称中获取名称。
有人能为Vala中的makefile指定语法吗?
发布于 2020-04-25 11:57:28
Vala编译器valac有--output参数来命名生成的二进制文件。例如:
valac my_source_file.vala --output myprogram
使用valac --help查找更多编译器选项。
一个简单的Makefile可以是:
sources = $(wildcard src/*.vala)
myprogram:
valac $(sources) --output myprogram将其保存为项目目录中的Makefile,并发出命令make或make myprogram,您将生成二进制文件myprogram。有几件事需要注意:
src目录中。许多新的Vala项目都在使用介子构建系统,因为它非常快速,语法更简洁。对于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()使用src目录中的meson.build文件将源文件追加到sources变量。
若要构建项目,请首先设置生成目录。从项目目录中执行此操作:
meson setup builddir然后构建项目:
ninja -C builddir您可能需要为基于红帽的发行版(如Fedora )使用ninja-build。可执行文件myprogram在builddir中。
如果您更改了源文件,那么ninja -C builddir将重新生成,不需要删除任何内容。
随着项目的发展,您会发现Meson比使用Makefiles更易于管理。
发布于 2020-04-25 03:36:56
我想现在梅森是建造瓦拉的方法了。查看https://mesonbuild.com/Vala.html
https://stackoverflow.com/questions/61420616
复制相似问题