【问题标题】:I am getting compiler errors while compiling my code in unix在 unix 中编译代码时出现编译器错误
【发布时间】:2015-08-10 07:54:38
【问题描述】:

我的主目录中有两个名为 Source 和 powerserver 的文件夹。在源代码目录中,我有一些与项目相关的代码,它使用电源服务器目录中的 .h 头文件。使用make -f somename.lnx32 编译时出现以下错误。

error: cst.h no such file or directory.

我是新手,我不知道如何访问那个 .h 文件?

【问题讨论】:

  • 那么,这是您有意包含的文件的名称吗?
  • 你应该提供你的代码。
  • 是的。我们有意包括
  • #include #include #include #include #include # include #include #include 我在我的 .c 文件中使用所有这些 .h 文件
  • 您可能更应该显示您的makefile 中的内容。请把它编辑成你的问题。

标签: c++ c linux unix compiler-errors


【解决方案1】:

GCC 在几个不同的地方寻找标题。在普通的 Unix 系统上,如果你不另外指定,它会在默认目录中搜索。

您可以使用 -I 命令行选项将目录添加到此列表中。以从左到右的顺序在默认目录之前搜索所有由 -I 命名的目录。

尝试gcc -c -I/path_to_powerserver_directory 在 GCC 搜索路径中包含头文件。

目前在 gcc 的搜索路径中找不到这个特定的头文件。

【讨论】:

  • 特别是,<cst.h> & <dllapi.h>(在 cmets 中提到)在 Linux 上通常不可用(作为系统提供的头文件)。
  • 很抱歉给大家带来了困扰..更正了它开始编译的文件夹结构,没有任何错误..感谢大家花费宝贵的时间。非常感谢:)
【解决方案2】:

它被标记为 Linux,所以我猜你使用的是 GCC。

#include <someheader.h> 表示在系统目录(即 /usr/include)中搜索 someheader.h,您可以使用 GCC 的 -Ipath 选项覆盖它。

但在您的情况下,您应该在 Makefile 中使用带有正确用户路径的 #include "someheader.h" 以及 -iquote 选项。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-17
    • 1970-01-01
    • 2015-07-23
    • 2020-12-03
    • 1970-01-01
    相关资源
    最近更新 更多