前言
本章节主要描述 GTK# 的开发搭建和相关注意事项
下载
http://www.monodevelop.com/download/
- 第一步,下载并安装 Mono + GTK#
安装完成以后,进入 Mono Basics 进行验证。 - 第二步,下载并安装 Xamarin Studio 集成开发环境
使用 Xamarin Studio 开发 GTK# 桌面环境
创建工程
选择 .NET -> Gtk# 2.0 Project
输入项目相关信息,注意,Location 我选择的是 /Users/mac/workspace/mono/hello
生成项目一览,如图可以设置断点,点击左上角执行按钮便可以进行 debug
工程目录文件
工程生成以后,会在 Location /Users/mac/workspace/mono/hello 目录中生成项目 hello;
类似于 Eclipse 的 workspace 和 project 的关系,这里的 Location 就等价于 Eclipse 的 workspace,但是也有不同,看如下描述;
hello.sln
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2012
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "hello", "hello\hello.csproj", "{4DC27BAF-7822-44EC-9153-CDAFBD8D4C4A}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x86 = Debug|x86
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{4DC27BAF-7822-44EC-9153-CDAFBD8D4C4A}.Debug|x86.ActiveCfg = Debug|x86
{4DC27BAF-7822-44EC-9153-CDAFBD8D4C4A}.Debug|x86.Build.0 = Debug|x86
{4DC27BAF-7822-44EC-9153-CDAFBD8D4C4A}.Release|x86.ActiveCfg = Release|x86
{4DC27BAF-7822-44EC-9153-CDAFBD8D4C4A}.Release|x86.Build.0 = Release|x86
EndGlobalSection
EndGlobal
可以清晰的看到 Location 中的 hello.sln 是对单个 project 的描述,也就是说,Location 只是对一个 Project 的描述
,言外之意,就是一个 Location 下只能有一个 Project,而 Eclipse 的 workspace 可以对应多个 Project… 这里是两者之间非常不同的地方。
添加工程 Solution
添加 C# 文件
一个工程只能有一个 Main Class
一个 GTK# 工程只能有一个 C# Main Class,否则在构建的时候会出错。
常用快捷键
快速修复错误, Alt + Enter
快速格式化, Ctrl + I
可视化编辑
GTK# 提供了两种可视化编辑器,一个是Glade另外一个是Setic
,Glade 对 osx 支持不是很友好,另外,Setic
目前已经集成到 Xamarin 中了。
选择 MainWindow.cs,选择 Designer,使用 Toolbox 进行设计。 Xamarin Setic 教程
错误异常处理
Locale not supported by C library
1
2(hello:18065): Gtk-WARNING **: Locale not supported by C library.
Using the fallback 'C' locale.
补充
C# Tutorial
Winforms vs Gtk#
How to install Gtk#
mono project get started
常用词汇
be ported to: 被移植到