Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
GTK应用程序使用gcc编译,但不在代码块中编译_C_Compiler Errors_Codeblocks_Gtk3 - Fatal编程技术网

GTK应用程序使用gcc编译,但不在代码块中编译

GTK应用程序使用gcc编译,但不在代码块中编译,c,compiler-errors,codeblocks,gtk3,C,Compiler Errors,Codeblocks,Gtk3,我希望在C/C++中实现一个绘图画布,但在未能使来自internet的代码正常工作后,我遇到了这个问题,它正是我所需要的。代码使用Martin提供的terminal命令编译: gcc example.c -o example `pkg-config --cflags --libs gtk+-3.0` 在Codeblocks中,我启动了一个新的GTK+项目,在其中添加了示例代码,我得到了 错误:未知类型名称“GtkApplication” 请告知如何设置代码块。我尝试过在代码块中修补编译器选项,

我希望在C/C++中实现一个绘图画布,但在未能使来自internet的代码正常工作后,我遇到了这个问题,它正是我所需要的。代码使用Martin提供的terminal命令编译:

gcc example.c -o example `pkg-config --cflags --libs gtk+-3.0`
在Codeblocks中,我启动了一个新的GTK+项目,在其中添加了示例代码,我得到了

错误:未知类型名称“GtkApplication”

请告知如何设置代码块。我尝试过在代码块中修补编译器选项,但没有任何运气

跟进:

  • 我检查了我安装的软件包,似乎我有GTK2和GTK3。

  • 我已经粘贴了“命令标志”的输出

  • pkg config--cflags--libs gtk+-3.0

    在代码块->项目->构建选项->其他编译器选项中。以前的错误已消失,但出现了新的错误:

    未定义对“gtk\u小部件\u获取\u分配的\u宽度”的引用

    未定义对“gtk\u小部件\u获取\u分配的\u高度”的引用

    未定义对“gtk\u应用程序\u窗口\u新建”的引用

    未定义对“gtk应用程序类型”的引用

    未定义对“gtk\u窗口\u设置\u应用程序”的引用

    未定义对“gtk\u box\u new”的引用

    未定义对“gtk\u应用程序\u新”的引用

    这一切背后的动机是使用调试器(我无法使用基于文本的gdb)

    非常感谢,, Dani找到了解决方案:

    在代码块中,项目->构建选项->编译器设置->其他编译器选项,添加

    `pkg-config --cflags gtk+-3.0`
    
    `pkg-config --libs gtk+-3.0`
    
    在项目->构建选项->链接器设置->其他链接器选项中,添加

    `pkg-config --cflags gtk+-3.0`
    
    `pkg-config --libs gtk+-3.0`
    

    命令的
    pkg config…..
    部分只能从命令行工作。您需要在命令行上运行该命令(不带倒勾(`)然后使用输出调整代码块中的编译器设置。或者,您可以使用文本编辑器编辑代码并在命令行上继续编译。此网站上处理代码块的问题数量让我认为不值得学习。您可能使用GTK+2而不是GTK+3@thurizas我没有设置代码块,但我一直在寻找一个在linux上运行的可视化IDE(Raspbery Pi),它有一个像样的调试器(逐步检查代码并至少添加手表)。有什么建议吗?(VS代码不起作用)建议很难,因为它们大多是基于意见的。有很多IDE支持调试器,一些是开箱即用的,其他的需要调整。你有没有试着找到一个比较IDE的网站?你可能想作为一个开始。@Dani Dobre我在Linux上试过很多IDE,我总是回到我在-emacs上学到的东西。您可以从emacs内部运行gdb,逐步执行代码、设置断点、检查变量和内存。您的里程数肯定会有所不同:)只是好奇为什么不能使用gdb?