关闭

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

标签: cc++
1192人阅读 评论(0) 收藏 举报
分类:
函数从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.通过!

 
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:220166次
    • 积分:3138
    • 等级:
    • 排名:第13144名
    • 原创:64篇
    • 转载:63篇
    • 译文:1篇
    • 评论:37条
    文章分类
    最新评论