C语言无法调用外部函数
主文件与需要用到的文件已放入同一文件夹中,不管是直接引用函数还是写入了头文件再引用,都无法调用。运行主文件hello.h时返回的错误信息是未找到该函数,运行其他文件的头文件时有返回无法运行的错误。
主文件
//文件名为hello.c
#include<stdio.h>
#include"print.h"
int main(){
int a=10;
int print(int q);
print(a);
return 0;
}
同一文档中其他.c文件
//print.c
#include<stdio.h>
#include"print.h"
int main(){}
int print(int q){
printf("%d\n",q);
return;
}
其他.c文件的头文件
//print.h
#ifndef print_h
#define print_h
#include<stdio.h>
int print(int q);
#endif
错误信息
//主文件返回
C:\Users\86136\AppData\Local\Temp\cc30QyLn.o:Hello.c:(.text+0x21): undefined reference to `print'
collect2.exe: error: ld returned 1 exit status
//print.h头文件返回错误
程序“print.exe”无法运行: 指定的可执行文件不是此操作系统平台的有效应用程序。所在位置 行:1 字符: 63
+ ... "c:\train\" ; if ($?) { gcc print.h -o print } ; if ($?) { .\print }
+ ~~~~~~~。
所在位置 行:1 字符: 63
+ ... "c:\train\" ; if ($?) { gcc print.h -o print } ; if ($?) { .\print }
+ ~~~~~~~
+ CategoryInfo : ResourceUnavailable: (:) [], ApplicationFailedException
+ FullyQualifiedErrorId : NativeCommandFailed