当我尝试使用 构建我的 vala 应用程序时debuild -i -us -uc -b,包已构建,但lintian抱怨我的控制文件缺少对 的依赖项libc:
E: <my app>: missing-dependency-on-libc needed by <path to my binary>
Run Code Online (Sandbox Code Playgroud)
我的依赖部分应该添加什么?
Source: <my_app>
Section: x11
Priority: optional
Maintainer: <me>
Build-Depends: cmake (>= 2.8),
debhelper (>= 9),
libgee-0.8-dev,
libglib2.0-dev,
valac (>= 0.22)
Standards-Version: 3.9.5
Homepage: <my_website>
Run Code Online (Sandbox Code Playgroud) 我试图用 vala 覆盖 gtk 按钮的背景颜色,但它不适用于某些主题。所以,这段代码
var b = new Button ();
b.label = "test";
b.margin = 10;
b.override_background_color (Gtk.StateFlags.NORMAL, color (yellow));
Run Code Online (Sandbox Code Playgroud)
看起来像这样:
适应(我想要的)
阿德维塔
氛围
那么我错过了什么?
似乎没有关于与最初用 C 编写的 C 源代码的互操作的文档。
或者,从 vala 代码创建一个库并从我的 C 程序调用它是否更好?
似乎回答了我的问题,我会在几个小时后查看。
我是 Vala 的新手,正在学习为基本 OS Hera(基于 Ubuntu 18.04.3)编写 GTK 应用程序。我找不到任何关于如何为我的程序编写 make 文件的文档。
我希望在项目根目录的“src”文件夹下组织我的 .vala 文件。我也不知道如何为 vala 编译器指定可执行文件的名称。它只是从 vala 源文件的名称中获取名称。
有人可以为 Vala 中的 makefile 指定语法吗?
我想使用vega库来处理 dicom 文件。其网站的示例代码如下:
#include <string>
#include "vega/dictionary/dictionary.h"
#include "vega/dicom/file.h"
int main() {
// Set the dictionary file
vega::dictionary::Dictionary::set_dictionary("/path/to/dictionary/dictionary.txt");
// Read the DICOM file in
const std::string file_name = "/path/to/dicom/file/dicom.dcm";
vega::dicom::File file(file_name);
// Print a human-friendly representation of the file to std::cout
vega::Formatter formatter(std::cout);
file.data_set()->log(formatter);
}
Run Code Online (Sandbox Code Playgroud)
本页解释了包括 C 代码,但是 C++ 代码呢?
该官方页面指出“如果该库是用C++编写的,则无法将其绑定到Vala,除非有C++库的单独C绑定(例如,LLVM)。”。因此,在我看来,我不能使用 vega 库。我对么?
编辑:另外,valabind / valabind-cc与swig有帮助吗?
我有一个哈希值,构造成以下结构:
string type1_name -> Hash(
string name_member -> DataStruct,
string name_member -> DataStruct,
string name_member -> DataStruct,
string name_member -> DataStruct
),
string type2_name -> Hash(
string name_member -> DataStruct,
string name_member -> DataStruct,
string name_member -> DataStruct,
string name_member -> DataStruct
),
/// etc
Run Code Online (Sandbox Code Playgroud)
问题是我有3个视图:2个TreeViews(扩展的实际树以层次结构方式显示所有列,简要显示为ListStore,仅显示DataStruct的类型图标和名称,这些视图由不同的父项拥有,可能同时显示)和1 ListView与图标表示相同的数据.ATM我有一个类管理数据(验证,序列化,反序列化,...)和每个视图的3个模型,所以每次我更新/删除/创建项目我必须更新所有3个模型,这看起来不太好:(
我想到的是创建一个实现Gtk.TreeModel的类并提供可用作所有3个视图的模型的公共数据源,但是我找不到任何关于如何实现gtk.TreeModel的文档.我试图通过GtkListStore(本地C实现)查看,我看到它重新实现了很多方法.有没有更简单的方法?
我不确定这个问题是否正确,但是...
好的,可以在vala中编译源vala
因为我要下载vala源代码,并且里面有很多vala文件
这里vala发布源代码 https://wiki.gnome.org/Vala/Release
我已经在Windows上安装了此版本
https://code.google.com/p/vala-win32/downloads/list
vala-0.12.0.exe
我不会编译Windows上的vala的最新vala版本
好的,格拉西亚斯:D
请不要与这个问题混淆, 在Windows上编译Vala源
我目前正在Vala写一个图书馆.
我已经到了一点,我想从我的来源生成一些文档.
valadoc 似乎是正确的工具,但没有太多关于如何使用它的信息,手册页很短.
我尝试运行它,valadoc -o doc src/*.{vala,vapi}它给了我这些错误消息:
unixodbc.vala:21.7-21.9: error: The namespace name `Gee' could not be found
unixodbc.vala:40.9-40.27: error: The type name `Map' could not be found
unixodbc.vala:42.30-42.48: error: The type name `Map' could not be found
unixodbc.vala:40.9-40.27: error: The type name `Map' could not be found
unixodbc.vala:40.9-40.27: error: The type name `Map' could not be found
unixodbc.vala:40.9-40.27: error: The type name `Map' could not be found
unixodbc.vala:80.63-80.81: error: The type name `Map' could not be found …Run Code Online (Sandbox Code Playgroud) 我的理解是Vala和Genie有引用计数而不是垃圾收集.
Per Valadoc.org,这个:
string path = Path.build_filename ("my", "full", "path/to.txt");
Run Code Online (Sandbox Code Playgroud)
得出这个:
a newly-allocated string that must be freed with g_free
Run Code Online (Sandbox Code Playgroud)
这是正确的还是g_free由于引用计数而不是必需的?
如果string是在对象内包裹将g_free上string上物件破坏付诸行动?