以前做的c语音学生成绩管理系统怎么运行不了,出现无法解析的外部符号错误

运行环境vs2010,和vs2012,都运行不了。求助,很急!!!!!!!!!!!!!!!图片说明

直接在cpp里面写 #include "c.h"引用C头文件会在连接的时候出现此类错误, 根本原因在于C++ 和 C在对函数命名方式的不同。

在 .h 头文件修改

#ifndef XXX_H
#define XXX_H

#ifdef __cplusplus
extern "C"
{
#endif

(此处为原来头文件内容)

#ifdef __cplusplus

}
#endif
#endif

然后在 .c 源代码修改

#include "XXX.h"

#ifdef __cplusplus
extern "C"
{
#endif

(此处为原来c文件内容)

#ifdef __cplusplus

}
#endif

函数名的下划线在本编译系统是无法使用的

加上extern "C"试一试

在编译环境下缺少相应的函数,试一试其他的编译环境

你的问题编译通过啦,说明单个文件中语法被编译器通过,编译机制是基于单个文件的,而连接时,要将所有的文件连接到一块,根据你的情况,是在连接时出的错,应该是有重复的定义,建议采用二楼的方法对定义进行修改。

头文件的定义方式不对
#ifndef FIND
#define FIND
/*
需要用到的函数
*/

#endif

#define N 100

源码是C++6.0吧?现在你想用VS2010以上版本运行?肯定不行。从6.0以后完全改变了;你可以用VS2005\VS2008上的移植工具先移植成.net框架代码,把错误的修复好后,在用2010就可以打开哪。