0

我正在尝试在窗口平台上编译具有多个文件的 C 程序。但是,当我制作它时,会发生错误。我已经尝试修改 makefile 中的命令,但仍然无法修复它。这是我的 GCC 命令:

gcc -o "SYSMONTR" $(OBJPATH)/chkdsksp ../chkdsksp.c -g -I"$(DB2PATH)/include" -I"$(MYLIBDIR)" $(MYIQDIR)/iqclilib.a $(OBJPATH)/icrou.a -lc -ldb2 -lnsl -L"$(DB2PATH)/lib"

这是结果:

gcc -o "SYSMONTR" ../../iLINKOBJ/chkdsksp ../chkdsksp.c -g -I"C:/Program Files/IBM/SQLLIB/include" -I"../../iLINKCLIB" ../../iLINKIQOBJ/iqclilib.a ../../iLINKOBJ/icrou.a -lc -ldb2 -lnsl -L"C:/Program Files/IBM/SQLLIB/lib"
../../iLINKOBJ/chkdsksp: file not recognized: File format not recognized
collect2: error: ld returned 1 exit status
makefile:49: recipe for target `SYSMONTR' failed
make: *** [SYSMONTR] Error 1

什么可能导致这样的错误,我该怎么办?在 Window (IDE: Eclipse) 上使用 cygwin。任何支持将不胜感激。

4

1 回答 1

0

如果chkdsksp是由另一个团队构建并在 AIX 上运行的目标文件,那么您不能期望它在 Cygwin 上运行——甚至可以被您的编译器识别。您必须联系该团队并获取 a) 源代码或 b) 为您的平台编译(并经过测试)的目标文件版本。

于 2013-10-01T13:30:42.883 回答