首先可以进入此网站 ,可以获取大致的配置流程信息。
正文
1. 我们先下载MSYS2
下载地址:msys2
网站有着很详细的教程,即使是英文也没有关系。
我下载的版本是 msys2-x86_64-20210419.exe,然后就是傻瓜式安装(注意安装路径不能有空格和中文)。
我安装的时候在这里卡了好久,傻瓜傻瓜,到后面编译的时候,一直出错,然后在 cmd 使用
pkg-config --cflags gtk+-3.0
打印出来的信息发现很不正常,和编译出现的错误信息才发现,安装MSYS2时的路径不能有中文和空格,我开始安装在Program Files,好扯,搞了我很久,因为使用MSYS2的shell反应很慢,不是网速慢,是敲命令和回车之间反应贼慢,心态崩了呀。
安装成功后,我们先需要更换成国内的源,不然网络慢到崩溃,这些都是安装Linux系列系统时的前列步骤,整个MSYS2使用的时pacman
,跟Arch Linux系列的Linux发行版一样,闲聊一下。
具体步骤看这个博客 即可轻易完成。
好,现在我们的网速可以飙起来了,那么我们去下载需要的东西咯,走起:
- pacman -Syu
- pacman -Su
- pacman -S --needed base-devel mingw-w64-x86_64-toolchain
- pacman -S mingw-w64-x86_64-gtk3
回车回车回车回车,慢慢等待下载完成,真慢啊我的电脑,还好我已经躺平了。
对了,如果不小心把命令行界面关了,没有关系,到MSYS2的安装路径找到msys2.exe
或者msys2_shell.cmd
双击打开即可。
终于下载完成了,接下面配置下系统环境(pkg-config
):
具体步骤是:
win+e
打开文件资源管理器 —> 右键此电脑—> 点击属性 —> 找到高级系统配置 —> 点击环境变量 —> 单击系统变量(下方那个板块)的Path,点击编辑 —> 点击右边新建按钮添加新的路径,我的是E:\MSYS2_64\mingw64\bin
,找到MSYS2的安装文件夹后找到mingw64文件夹,然后到bin目录下可以找到pkg-config
。
配置完成之后,我们使用win+r
后输入cmd,打开命令行界面,输入pgk-config --cflags gtk+-3.0
、pgk-config --libs gtk+-3.0
看看是否正常输出一些信息,然后使用pgk-config --modversion gtk+-3.0
查看gtk的版本号,gcc --version
查看gcc的版本。如果都正常输出信息即可完成了。
这样我们已经在windows下配置好gtk的环境了,接下来去下载codeblocks了。
2. 安装CodeBlocks
可以到该网站进行下载。我下载的版本是codeblocks-20.03-setup.exe
,具体到网站后去找一下这个类似的进行下载即可。然后傻瓜式安装就行,尽量避免安装路径有空格和中文即可顺利安装完成。
3. 测试
首先打开CodeBlocks,接下来使用图片来比较浅显易懂,我也刚开始写博客,没什么耐心,随便啦。
- 首先,点击
Create a new project
,然后点击Console application
—>Go
—>Next
—> 我选择的是C
—> 然后填写一些project的信息即可然后Nect
—> 直接Finish
即可打开程序的编写了。
接下来来打代码的编辑框咯。
点击setting
后选择complier
,之后弹出如下窗口。
首先选择编译器,如图所示,然后是在Complier settings
中的Other complier options
的输入框中输入pkg-config --cflags gtk+-3.0
(注意,需要如图所示中的反引号,是键盘左上角的那个波浪号键)。然后点击Linker settings
,如图操作输入即可完成。
接下来,我们去官网找个小Demo测试一下,是否配置成功,走你:
#include <gtk/gtk.h>
static void
activate (GtkApplication* app,
gpointer user_data)
{
GtkWidget *window;
window = gtk_application_window_new (app);
gtk_window_set_title (GTK_WINDOW (window), "Window");
gtk_window_set_default_size (GTK_WINDOW (window), 200, 200);
gtk_widget_show_all (window);
}
int
main (int argc,
char **argv)
{
GtkApplication *app;
int status;
app = gtk_application_new ("org.gtk.example", G_APPLICATION_FLAGS_NONE);
g_signal_connect (app, "activate", G_CALLBACK (activate), NULL);
status = g_application_run (G_APPLICATION (app), argc, argv);
g_object_unref (app);
return status;
}
好,现在所有都配置好了,接下来就可以进行玩一些好玩的操作了。大家一起加油,耍一耍。