如何在C ++中设置GUI

时间:2017-08-28 20:48:18

标签: c++ gtk visual-studio-2017 libraries gtkmm

我是初学者,当涉及到c ++和整体包括库时,所以我在过去3天中花了很多时间尝试安装各种GUI库并尝试使它们与Visual Studio一起工作,但这些都不是尝试成功。

归结为必须包含文件和链接库的问题。至少在我看来,在Visual Studio中复制粘贴这些框中的所有内容似乎非常繁琐且耗时。

我需要一个帮助来弄清楚我做错了什么,这是我尝试的方式:

Visual Studio 2017 - 带有Windows安装程序的gtkmm库 我下载了所需的Gtk +并成功安装。 我打开项目的属性,转到包含并粘贴所需的路径。我转到链接器并继续粘贴这些路径。 接受,尝试使用includes - >粘贴一个hello world程序。一切都用红色加下划线。

这甚至不是实际的gtkmm实现。

现在我的问题是,我是否忘记了一个步骤,或者它只是不起作用的基本代码段(我不会让你发布它)。

当我的库教程告诉我包含2或3个文件而我的文件夹中有20个文件时,该怎么办?

另外,将库放在不同的驱动器上是不是一种不好的做法?

对不起,如果我听起来很丢失,但这几乎就是我对这些教程的感受..

编辑,以防万一,这是我引用的片段:

#include <gtk/gtk.h>

int main(int argc, char *argv[]) {

gtk_init(&argc, &argv);

g_printf("GTK+ version: %d.%d.%d\n", gtk_major_version,
    gtk_minor_version, gtk_micro_version);
g_printf("Glib version: %d.%d.%d\n", glib_major_version,
    glib_minor_version, glib_micro_version);

return 0;
}

g_printf,glib_major_version,glib_minor_version和glib_micro_version是红色下划线,但不是gtk_major_version

编辑:

感谢您提供建议和深入的教程,尽管这样的问题不适合stackoverflow。

你能告诉我如何在许多文件夹中包含大量的头文件和lib文件吗?我是否需要手动访问所有文件夹并包含它们?

1 个答案:

答案 0 :(得分:0)

是的,您无疑错过了Visual Studio中的一个步骤。不,将它安装在另一个驱动器上也不错。

一般的想法是:

1)在您机器的某处安装库。在哪里真的不重要。记下&#34; lib&#34;目录和&#34;包括&#34;目录路径。

  • include目录包含头文件,允许您的代码理解您尝试使用的代码的前向声明。
  • lib目录包含二进制文件(用于动态链接的DLL,用于静态链接的lib)。有时会有不同的二进制文件用于发布/调试。当你到达那里时,我会链接调试库并担心发布代码
  • 请注意,有时他们希望您自己编译代码并创建二进制文件。它们将包括编译指令。创建二进制文件后,您可以返回到此处的步骤1并重复这些步骤。这是因为他们要么不想为您的平台预编译二进制文件,要么他们的项目理念是自己做。

2)在Visual Studio中,您必须(单独)告诉编译器新的附加包含和库目录。 2017年是......

  • 包含目录:项目&gt; {名称}属性&gt; C / C ++&gt;一般&gt;其他包含目录
  • 图书馆目录:项目&gt; {名称}属性&gt;链接器&gt;一般&gt;其他图书馆馆藏

3)现在包括库(二进制文件)本身。 2017年是......

  • 图书馆二进制文件:项目&gt; {名称}属性&gt;链接器&gt;输入&gt;附加依赖

如果存在外部依赖关系,或者他们已将项目分解为多个库以实现模块化,他们应该为您提供要包含在项目中的二进制文件列表。

如果你想用C / C ++编程,这是一个你将要反复进行的过程。它有点神秘,但一旦你把它弄下来,它就不会让你感到惊讶。

编辑:

哦,顺便说一句,人们提到了Qt。这个框架与Visual Studio有点不同。它非常涉及自己设置依赖项,因为它们包含语言扩展和创建GUI的工具。出于这个原因,有一个工具(非常好)用于从模板创建Qt项目。这将为您设置所有编译器步骤,包含和链接库。

在我看来,它可能是Windows上用于C / C ++的最佳和最成熟的GUI库,也是跨平台的。