C ld:无法编译不匹配的ABI(不是ELF文件)
我有一个简单的C hello world程序,我想在HP-UX ia64 11.31上编译它,但是我得到了以下错误C ld:无法编译不匹配的ABI(不是ELF文件),c,compilation,hp-ux,itanium,C,Compilation,Hp Ux,Itanium,我有一个简单的C hello world程序,我想在HP-UX ia64 11.31上编译它,但是我得到了以下错误 /* Hello World program */ #include<stdio.h> main() { printf("Hello World"); } 将文件命名为example.c,然后重试。谢谢!!:)哦,我的天哪,我甚至不认为他需要后缀来正确编译代码,我在寻找除此之外的所有东西……如果你不明确告诉它你正在处理的文件类型,编译器驱动程序会做出猜测,
/* Hello World program */
#include<stdio.h>
main()
{
printf("Hello World");
}
将文件命名为
example.c
,然后重试。谢谢!!:)哦,我的天哪,我甚至不认为他需要后缀来正确编译代码,我在寻找除此之外的所有东西……如果你不明确告诉它你正在处理的文件类型,编译器驱动程序会做出猜测,通常基于文件扩展名。看起来您的编译器将没有扩展名的文件视为目标代码而不是源代码,因此它假定您只需要进行链接。编译器的文档应该包含一个它知道的扩展列表,以及默认情况下它将如何处理这些扩展。
cc -v +DD64 example
LPATH=/usr/lib/hpux64:/opt/langtools/lib/hpux64
/usr/ccs/bin/ld -o a.out -u___exit -umain example -lc
ld: Mismatched ABI (not an ELF file) for example
Fatal error.
removing /var/tmp/AAA003501