使用依赖项,h和h0文件编译c程序

时间:2018-02-27 13:00:07

标签: c gcc hfile

我正在尝试将用C语言编写的gjh解算器编译成windows中的可执行文件。它可用on netlib

我下载了c文件,并在windows'上通过WinGW使用gcc编译器。命令提示符。试图直接编译gjh.c文件给我一个错误,上面写着:

gjh.c:33:21: fatal error: getstub.h: No such file or directory
 #include "getstub.h"
compilation terminated.

我认为编译gjh.c需要依赖getstub.h

getstub.h不是唯一需要的依赖项,还有其他依赖项,即:arith.hasl.hfuncadd.hstdio1.h。所有这些文件都可以在我找到getstub.h的同一链接上找到。但是,arith.h0stdio1.h0可用,而不是arith.hstdio1.h

这些文件是否相同?我试图将.h0文件重命名为.h并尝试编译gjh.c,但我收到此错误:

  

collect2.exe:错误:ld返回1退出状态

两个文件是否相同?如果没有,有没有办法让我成功地将gjh解算器编译成.exe?

1 个答案:

答案 0 :(得分:0)

如果这是编译中唯一的问题,请尝试使用gcc中的-I开关:

gcc -I/my/path/to/include/files -o gjh gjh.c

-I开关提示gcc在哪里找到你的#include文件。

我不确定stdio1.h。我认为你的重命名方法是可以的,但是引用了Sprintf之类的外部函数。您需要链接到定义它的库。如果您知道它来自哪里,请使用gcc中的-L-l开关:

gcc -I/my/path/to/include/files -L/my/path/to/library -lnameoflibrary \
    -o gjh gjh.c