zoukankan      html  css  js  c++  java
  • 搭建windows平台GTK+-3.0开发环境

    前言

    最近在了解GTK+-3.0界面开发相关,由于自身用的系统环境是windows,开个linux虚拟机来开发的话总归是麻烦了点,于是开始寻找 windows上快捷搭建 GTK+-3.0 编译环境的方法,在经过尝试后,大概有三种办法,下面会对这些方法进行详细介绍。


    msys2

    第一种方法便是是使用 msys2 跨平台编译环境,安装 mingw32 直接在控制台中使用命令对 GTK+-3.0 工程进行编译,基于 msys2 的 mingw32 编译环境的具体搭建方法可以参考我之前的文章:
    https://magicdmer.site/783.html

    当我们搭建完环境后,打开 mingw32 环境安装 GTK+-3.0 开发库,如下

    Administrator@MRROBOT-PC MINGW32 ~
    # pacman -Ss gtk3     //查询安装包
    mingw32/mingw-w64-i686-gtk3 3.24.23-1 [已安装]
    ...
    
    Administrator@MRROBOT-PC MINGW32 ~
    # pacman -S mingw-w64-i686-gtk3
    
    Administrator@MRROBOT-PC MINGW32 ~
    # pacman -S mingw-w64-i686-pkg-config
    

    接着我们新建一个 GTK+-3.0 源码文件 main.c

    #include <stdio.h>
    #include <gtk.h>
    
    int main()
    {
    	gtk_init(NULL);
    	......
    	gtk_main();
    }
    

    然后使用下面的命令进行编译

    gcc main.c `pkg-config --cflags --libs glib-2.0 gtk+-3.0` -o helloword
    

    这种方法就是比较原始的方法了,但是我们后续的方法都是基于这个 msys2的mingw32 环境来展开的


    msys2 + visualstudio + visualgdb

    这种办法就是使用IDE了,要比上面的方法方便太多,这里最主要的是这个 visualgdb ,这是个vs的跨平台开发插件,是收费的。所以如果你要使用的话,可能需要去找个特别版本,网上可以搜到。

    我们下载 visualgdb 安装后,新建工程,如图

    因为我们讲述的是在windows上开发gtk3,所以我们选择 MingGW 工程,它也支持远程创建linux工程,本地修改代码后自动同步到linux机器进行编译调试,暂且不表

    后续的设置如图所示


    Toolchain选项需要设置成你安装 msys32 的位置

    然后工程新建完毕,我们在工程上右键,选择 VisualGDB 设置,设置如下:

    为了方便大家拷贝(这也是这种方法麻烦的地方),这里发一下参数:

    include: E:msys32mingw32include E:msys32mingw32includegtk-3.0 E:msys32mingw32includeglib-2.0 E:msys32mingw32libglib-2.0include E:msys32mingw32includepango-1.0 E:msys32mingw32includecairo E:msys32mingw32includegdk-pixbuf-2.0 E:msys32mingw32includeatk-1.0
    
    lib: gtk-3.dll glib-2.0 gio-2.0 gdk-3.dll cairo atk-1.0.dll pango-1.0.dll gobject-2.0
    

    然后大家就可以愉快的开发的! 这种方法相对于第一种方法要简单,但是我依旧感觉每次新建工程都要配置一堆参数是很蛋疼的事情,所以我接着寻找


    msys2 + codeblocks (推荐)

    下载地址:http://www.codeblocks.org/downloads/binaries
    这个方法是我推荐的方法,超级简单,首先我们配置一下编译器
    Settings --- compiler

    然后需要做的就是自定义一个 gtk+-3.0 的工程向导模板,因为自带的只有 gtk+-2.0 的,如图:

    如图,这个 GTK+-3.0 project 是我自定义的工程模板,新建完后工程如下:

    这个默认的 main.c 也是我自定义的模板,大家可以自行修改,模板文件如下:
    链接: https://pan.baidu.com/s/1WljtnhG1ocnqW25pv8OWAA
    提取码: cycy

    然后解压后放到 codeblock 的 wizard 目录,我的是
    C:Program FilesCodeBlocksshareCodeBlocks emplateswizard
    然后修改该目录下的 config.script 文件,注册我们的工程模板

    RegisterWizard(wizProject,     _T("gtk3"),         _T("GTK+-3.0 project"),      _T("GUI"));
    

    然后启动 codeblocks 新建工程就可以看到我们的工程模板了,在这个界面是可以右键对模板进行修改的,修改后后续可以随时右键恢复。如果没有出现模板,那么请在这个新建界面右键编辑全局文件,IDE会打开 config.script 文件让我们修改,修改完后重启 codeblocks 即可
    这种方式感觉是最好的方法,linux上也可以使用它进行gtk+-3.0开发


    总结

    上面就是三种在windows上搭建gtk+-3.0工程编译环境的方法,除了这三种之外,还有其他的,比如 vscode+cmake 的方式,由于文章太长了就不写了,大家可以自行去搜索了解

  • 相关阅读:
    记MongoDB的安装
    Python格式化输出指定宽度及占位符
    LMDB数据库加速Pytorch文件读取速度
    IDEA设置输入后自动提示
    IDEA2020 最新激活
    java 编译执行cmd命令
    算法9:What is the sum of the digits of the number 21000
    JAVA8 LocalDateTime
    算法8:已知 a^2+b^2=c^2(a,b,c 为自然数,a<b<c),且a+b+c=1000,求abc的值?
    ROS学习笔记
  • 原文地址:https://www.cnblogs.com/magicdmer/p/13873227.html
Copyright © 2011-2022 走看看