我正在尝试将gjh求解器编译为Windows中的可执行文件。它可以在Netlib
上找到我下载了C文件,并在Windows的命令提示符上通过WINWW使用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?
如果这是编译的唯一问题,请尝试使用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