c - Windows 中的 GCC 包括头文件

标签 c gcc header

我的项目位于名为 junkyard 的目录中。在 junkyard 中,我有 test.c 和一个名为 include 的文件夹。

我的代码如下所示:

#include <my_global.h>
#include <mysql.h>

int main(int argc, char **argv)
{
  printf("MySQL client version: %s\n", mysql_get_client_info());
}

这两个头文件位于 include 文件夹内(同样位于项目的根目录中。因此该结构的必要文件位于如下位置:

junkyard/test.c

junkyard/include/mysql.h

junkyard/include/my_global.h

请注意,我在 Windows 上使用 GCC。我无法编译该程序,并且尝试了多种方法。如何正确链接头文件?谢谢。

最佳答案

首先 #include syntax 之间的区别:

  • #include <>表示包含“编译器目录”中的文件(可以通过 preprocessor option -I 设置)
  • #include ""表示包含“本地目录”中的文件

如果您想包含项目中的文件,您可能应该使用:

#include "include/mysql.h"
#include "include/my_global.h"

如果您(由于某些原因)仍想使用#include <>像这样使用 gcc:

gcc -Iinclude test.c

关于c - Windows 中的 GCC 包括头文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12876503/

相关文章:

c - Lex:如何防止它与子字符串匹配?

c - 用于 C 编译的特定 GCC 程序和库

c - 如何编写一小段内联 gnu 扩展程序集来交换两个整数变量的值?

header - X-Pad : avoid browser bug header added by apache

html - 修复 css,使其相对于它的子项(/responsive)

php - 将 PHP 5.3.3 从源代码编译到 Apache

c - C 语言文件 I/O 字数统计程序

c - 如何在 mac 10.7 和/或 10.8 上编译 pam_radius

c - 文件 linux/compiler.h 中定义的预处理器宏的目的是什么?

latex - 在 Latex 中将页眉/页脚插入章节页面