-
Notifications
You must be signed in to change notification settings - Fork 2
Refactored Codebase 2 #2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Removed unnecessary comments, improved readability by adding comment into the variable. Comments now Include small when inside a function or for loop and Big standard when outside of it, to further improve readability. - Still Requires the reduction of repetition of code!
In the following addition it is required to keep " C_cpp_properties.json and tasks.json within the project as that is required for the library to work.
Having removed user based vscode additions it should work as intended!
Leaving instructions here:
Step 1: in Msys2 terminal you write this pacman -S mingw-w64-x86_64-gtk4
Step 2: pacman -S mingw-w64-x86_64-toolchain base-devel
After you got those fuckers
Step 3: you have a c project, and you need to generate those I'll most likely include in the commit so you dont have to fuck around with them unless you want to.
Image
Step 4: In main.c you want to try the code so copy paste
#include <gtk/gtk.h>
static void
print_hello (GtkWidget *widget,
gpointer data)
{
g_print ("Hello World\n");
}
static void
activate (GtkApplication *app,
gpointer user_data)
{
GtkWidget *window;
GtkWidget *button;
window = gtk_application_window_new (app);
gtk_window_set_title (GTK_WINDOW (window), "Window");
gtk_window_set_default_size (GTK_WINDOW (window), 200, 200);
button = gtk_button_new_with_label ("Hello World");
g_signal_connect (button, "clicked", G_CALLBACK (print_hello), NULL);
gtk_window_set_child (GTK_WINDOW (window), button);
gtk_window_present (GTK_WINDOW (window));
}
int
main (int argc,
char **argv)
{
GtkApplication *app;
int status;
app = gtk_application_new ("org.gtk.example", G_APPLICATION_DEFAULT_FLAGS);
g_signal_connect (app, "activate", G_CALLBACK (activate), NULL);
status = g_application_run (G_APPLICATION (app), argc, argv);
g_object_unref (app);
return status;
}
Step 5: Open c_cpp_proprties.json
Step 6: you need this exact promt, make sure that the root directory is correct!!!!
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/**",
"C:/msys64/mingw64/include/gtk-4.0",
"C:/msys64/mingw64/include/glib-2.0",
"C:/msys64/mingw64/include/**",
"C:/msys64/mingw64/lib/**"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"windowsSdkVersion": "10.0.22000.0",
"compilerPath": "C:/msys64/mingw64/bin/gcc.exe",
"cStandard": "c17",
"cppStandard": "c++17",
"intelliSenseMode": "windows-gcc-x64"
}
],
"version": 4
}
Step 7: Make sure you add it into "edit environment settings" You got to add it to the System Environment - >
Image
So you need to add the bin folder that you downloaded mingw64 to and the gtk4 will be there as well
Make sure that is right after program files otherwise won't work.
Image
all those ther and paths must be there for us to use it
Image
And that too, this is inside c_cpp_properties
Image
Step 8: you need task.json as well with this code
{
"version": "2.0.0",
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: gcc.exe build active file",
"command": "C:/msys64/mingw64/bin/gcc.exe",
"args": [
"-fdiagnostics-color=always",
"-g",
"-IC:/msys64/mingw64/include/gtk-4.0",
"-IC:/msys64/mingw64/include/pango-1.0",
"-IC:/msys64/mingw64/include",
"-IC:/msys64/mingw64/include/glib-2.0",
"-IC:/msys64/mingw64/lib/glib-2.0/include",
"-IC:/msys64/mingw64/include/harfbuzz",
"-IC:/msys64/mingw64/include/freetype2",
"-IC:/msys64/mingw64/include/libpng16",
"-IC:/msys64/mingw64/include/fribidi",
"-IC:/msys64/mingw64/include/cairo",
"-IC:/msys64/mingw64/include/pixman-1",
"-IC:/msys64/mingw64/include/gdk-pixbuf-2.0",
"-IC:/msys64/mingw64/include/webp",
"-DLIBDEFLATE_DLL",
"-IC:/msys64/mingw64/include/graphene-1.0",
"-IC:/msys64/mingw64/lib/graphene-1.0/include",
"-mfpmath=sse",
"-msse",
"-msse2",
"${file}",
"-LC:/msys64/mingw64/lib",
"-lgtk-4",
"-lpangowin32-1.0",
"-lpangocairo-1.0",
"-lpango-1.0",
"-lharfbuzz",
"-lgdk_pixbuf-2.0",
"-lcairo-gobject",
"-lcairo",
"-lgraphene-1.0",
"-lgio-2.0",
"-lgobject-2.0",
"-lglib-2.0",
"-lintl",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe"
],
"options": {
"cwd": "C:/msys64/mingw64/bin"
},
"problemMatcher": [
"$gcc"
],
"group": "build",
"detail": "compiler: C:/msys64/mingw64/bin/gcc.exe"
}
]
}
Sommos
reviewed
Aug 21, 2023
Contributor
Sommos
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
remove .vscode from repo, and add it to .gitignore
Sommos
approved these changes
Aug 21, 2023
Contributor
Sommos
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me! Merging :)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Removed unnecessary comments, improved readability by adding comment into the variable.
Comments now Include small when inside a function or for loop and Big standard when outside of it, to further improve readability.
GTK 4 Library has been added!