我正在尝试将用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.h
,asl.h
,funcadd.h
和stdio1.h
。所有这些文件都可以在我找到getstub.h
的同一链接上找到。但是,arith.h0
和stdio1.h0
可用,而不是arith.h
和stdio1.h
。
这些文件是否相同?我试图将.h0文件重命名为.h并尝试编译gjh.c
,但我收到此错误:
collect2.exe:错误:ld返回1退出状态
两个文件是否相同?如果没有,有没有办法让我成功地将gjh解算器编译成.exe?
答案 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