Im very new to development in C and would like to create a GUI using GTK. Ive already downloaded and installed gtk 3.6.4 bundle. Im trying to compile some example code like this:
#include <gtk/gtk.h>
int main(int argc, char *argv[])
{
GtkWidget *window;
gtk_init(&argc, &argv);
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_widget_show(window);
gtk_main();
return 0;
}
I'm really having trouble understanding how to include the header files. I've seen a couple threads which discuss using a pkg-config command like :
pkg-config --cflags --libs gtk+-3.0
Where should this code be inserted? It runs on the command window and generates some output but this doesnt solve the error I get in MS visual studio in my code. I apologize in advance for repeating a question but I still am having trouble understanding where this pkg-config code should be run and that is not clear to me from the other responses.
The
pkg-config
line is a shell command that produces on standard output the compiler flags you would need to pass to use the function you want. For example,produces for me
What you want to do is use a feature of your shell in which the output of a command is dropped into the command line of another one. In bash, this is done with
`...`
:For bash, another syntax is
$(...)
:For GNU make makefiles, if you want to use
$(...)
, you will need to use theshell
function:--cflags
produces the C compiler flags,--libs
produces the linker flags. If you're building using a makefile, you'll want to only provide--cflags
to the recipe that produces the.o
files and only provide--libs
to the recipe that produces the final executable. For compiling a single C file directly into an executable with a single command, provide both.