【发布时间】:2020-03-26 10:10:48
【问题描述】:
希望在 C/C++ 中实现绘图画布,在无法从 Internet 上生成代码后,我遇到了这个 sample code,它正是我所需要的。代码使用Martin提供的终端命令编译:
gcc example.c -o example `pkg-config --cflags --libs gtk+-3.0`
在 Codeblocks 中,我开始了一个新的 GTK+ 项目,在其中添加了示例代码,我得到了
错误:未知类型名称“GtkApplication”
请告知如何设置代码块。我尝试修改 CodeBlocks 中的编译器选项,但没有任何运气。
跟进:
pkg-config --cflags --libs gtk+-3.0
在 CodeBlocks -> 项目 -> 构建选项 -> 其他编译器选项中。以前的错误消失了,但出现了新的错误:
对“gtk_widget_get_allocated_width”的未定义引用
对“gtk_widget_get_allocated_height”的未定义引用
对“gtk_application_window_new”的未定义引用
对“gtk_application_get_type”的未定义引用
对“gtk_window_set_application”的未定义引用
对“gtk_box_new”的未定义引用
对“gtk_application_new”的未定义引用
这一切背后的动机是使用调试器(我无法使用基于文本的 gdb)。
非常感谢, 丹妮
【问题讨论】:
-
命令
pkg-config .....的一部分只能在命令行下工作。您需要在命令行上运行该命令(不带反引号 (`),然后使用输出来调整代码块中的编译器设置。或者,您可以只使用文本编辑器来编辑代码并继续在命令行。这个网站上处理代码块的问题数量让我觉得不值得努力学习。 -
您可能使用的是 GTK+2 而不是 GTK+3。
-
@thurizas 我没有在 CodeBlocks 上设置,但我一直在寻找一个可视化 IDE,可以在 linux (Raspbery Pi) 上运行,它有一个不错的调试器(单步执行代码并至少添加手表) .有什么建议? (VS 代码不起作用)
-
建议很难,因为它们大多是基于意见的。有很多 IDE 支持调试器,有些是开箱即用的,有些则需要调整。您是否尝试找到一个比较 IDE 的网站?您不妨先看看this Wikipedia page。
-
@Dani Dobre 我在 Linux 上尝试了很多 IDE,但我总是回到我所学的东西 - emacs。您可以从 emacs 内部运行 gdb 并单步执行代码、设置断点、检查变量和内存。你的里程肯定会有所不同:) 只是好奇你为什么不能使用 gdb?
标签: c compiler-errors codeblocks gtk3