我正在尝试在窗口平台上编译包含多个文件的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)。 任何支持将不胜感激。
答案 0 :(得分:0)
如果chkdsksp
是由另一个团队构建的在AIX上运行的目标文件,那么您不能指望它在Cygwin上运行 - 甚至可以被编译器识别。您必须联系该团队并获得a)源代码或b)为您的平台编译的目标文件的版本(以及测试)。