我正在尝试在Windows平台上编译具有多个文件的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上使用cygwin(IDE:Eclipse)。
任何支持将不胜感激。

最佳答案

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

关于c - 使用GCC编译时发生错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19107791/

10-13 09:39