函数从C到C++迁移,出现C2732或LNK2001错误

原创 2007年09月24日 17:16:00
函数从C到C++迁移,出现C2732或LNK2001错误

1.原来的函数由C实现,声明如下:
  __declspec(dllexport) int RegisterMacro(char *macro_define, char *macro_value);
  __declspec(dllexport) int GetMacroCount(void);

2.现在由STL实现,连接出错, error LNK2001

3.更改声明:
  extern "C"__declspec(dllexport) int GetMacroCount(void);
  编译出错, error C2732

4.更改声明
#ifdef __cplusplus
extern "C" {
#endif

__declspec(dllexport) int RegisterMacro(char *macro_define, char *macro_value);
__declspec(dllexport) int GetMacroCount(void);

#ifdef __cplusplus
}
#endif  /* __cplusplus */

5.通过!

 

LNK2005:_wmemcmp 重复定义,及C4799:没有EMMS指令

最近在ARM平台上做一个C++项目,其中有一部分与硬件关系不大,想用Visual C++ 2010来做单步调试平台来提高开发效率,将Ubuntu的/usr/include中的所有头文件搞到了Windo...

"stdafx.cpp"编译引起的C2859、C1083、LNK2001错误

转:http://blog.sina.com.cn/s/blog_48f93b530100fkcg.html 今天在VC2005中修改一个工程的文件结构,将"stdafx.cpp"文件挪动了位置...

C和C++相互调用 error LNK2001: unresolved external symbol

在项目中融合C和C++有时是不可避免的,在调用对方的功能函数的时候,或许会出现这样那样的问题。 近来在主程序是C语言,而调用C++功能函数的时候,C++的*.h头文件都能找到,功能函数也都定义了,最...

.cpp 与 .c 的区别 以及 extern "C" 的用法 LNK2001: 无法解析的外部符号

有时候 我们将常在VS看到: error LNK2001: 无法解析的外部符号 "int Xiao" (?Xiao@@3HA) 这是大多数是因为.c与.cpp的区别。虽然C++兼容C语言 但...

stdafx.cpp"编译引起的C2859、C1083、LNK2001错

今天在VC2005中修改一个工程的文件结构,将"stdafx.cpp"文件挪动了位置,编译时出现C2859错误,具体信息如下: error C2859: e:/projects/apptest/...

C++链接器工具错误:LNK2001, LNK2019

这是归属于链接器工具错误 这一类。 无法解析的外部符号“symbol” 代码引用了链接器无法在库和对象文件中找到的内容(如函数、变量或标签)。 可能的原因 代码请求的内容不存在(例如,...

链接错误LIBCMT.lib(crt0dat.obj) : error LNK2005以及fatal error C1189: #error

最近VS项目出现如下编译错误: 正在链接... LIBCMT.lib(crt0dat.obj) : error LNK2005: _exit 已经在 msvcrtd.lib(MSVCR71D.dll...

VS2015和QT5.5项目出现的诡异错误(LNK2001和LNK09)的解决办法

VS2015和QT5.5项目出现的诡异错误(LNK2001和LNK2109)的解决办法 今天要把一个旧的QT项目移植到VS2015和QT5.5.1的环境下,没想到出现了诡异的错误,发费了不少时间才找到...

链接错误LNK2001

  • 2012年08月26日 16:01
  • 15KB
  • 下载

error LNK2001: unresolved external symbol VC++链接错误详解

error LNK2001: unresolved external symbol VC++链接错误详解 学习VC++时经常会遇到链接错误LNK2001,该错误非常讨厌,因为对于编程...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:函数从C到C++迁移,出现C2732或LNK2001错误
举报原因:
原因补充:

(最多只允许输入30个字)