建立了 win32 console application工程,里面有以下四个.cpp文件。
运行后提示
1.obj : error LNK2001: unresolved external symbol _print_string
1.obj : error LNK2001: unresolved external symbol _delete_string
Debug/li.exe : fatal error LNK1120: 2 unresolved externals
Error executing link.exe.
请问是什么原因。
程序本身是没啥问题的。多谢!
file1.c(文件1)
#include”stdio.h”
void main( )
{extern void enter_string(char str[] );
extern void delete_string(char str[] ,char ch);
extern void print_string (char str[] );
/*说明本文件要用到其它文件中的3个函数 */
char c;
static char str[80];
enter_string(str);
scanf(“%c”,&c);
delete_string(str,c);
print_string(str);
}
file2.c(文件2)
#include ”stdio.h”
void enter_string(char str[80]) /*定义外部函数enter_string */
{
gets (str);
} /*向字符数组输入字符串str*/
file3.c(文件3)
#include”stdio.h”
void delete_string(char str[],char ch) /*定义外部函数delete_string*/
{
int i,j;
for(i=j=0;str[i]!=’\0’;i++)
if(str[i]!=ch)
str[j++]=str[i];
str[j]=’\0’;
}
file4.c(文件4)
#include”stdio.h”
void print_string(char str[]) /*定义外部函数print_string*/
{
printf(“%s”,str);
}
文件的头部
用#include包含其余的文件
这是课本上的例题,主要要说明extern声明外部函数的用法。 不用#include如何修改使程序运行正确? 谢谢!
都改成.cpp就没错误了。