运行环境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就可以打开哪。