C语言无法解析的外部信号 在_main,在C++控制台项目中使用C工程代码时的注意,避免出现error LNK2019: 无法解析的外部符号...

当我们在写 C++控制台项目时候,有时用到一些线程的算法代码项目,这些代码项目是用c写的。当使用时,需要在c的头文件中标注如下内容,才能使得cpp文件能够编译使用c的函数等,才避免在编译时候出现error LNK2019: 无法解析的外部符号###,在_main中引用,这样的错误。如下面:

号 "int __cdecl sift_features(struct _IplImage *,struct feature * *)" (?sift_features@@YAHPAU_IplImage@@PAPAUfeature@@@Z),该符号在函数 _main 中被引用 1>picturecopy1.obj : error LNK2019: 无法解析的外部符号 "struct _IplImage * __cdecl stack_imgs(struct _IplImage *,struct _IplImage *)" (?stack_imgs@@YAPAU_IplImage@@PAU1@0@Z),该符号在函数 _main 中被引用 1>picturecopy1.obj : error LNK2019: 无法解析的外部符号 "void __cdecl fatal_error(char *,...)" (?fatal_error@@YAXPADZZ),该符号在函数 _main 中被引用 1>C:\Users\acer\documents\visual studio 2010\Projects\picturecopy1\Debug\picturecopy1.exe : fatal error LNK1120: 7 个无法解析的外部命令。

此时需要这样解决:

在调用函数的xx.h文件的首尾添加:

#ifdef __cplusplus (其中__cplusplus是cpp中自定义的一个宏!!!)

extern "C"{

#endif

//-------------开始写.h

#include

xx.h的全部内容。

void function();

......

#ifdef __cplusplus

}

#endif

按照以上格式即可以不出现编译error LNK2019: 无法解析的外部符号。。。问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值