vs中C++工程加入c文件编译出现无法解析的外部符号,解决办法在include头文件的时候加上extern "C"
extern "C"{
#include "mujs.h" }原因是:
C++语言在编译的时候为了解决函数的多态问题,会将函数名和参数联合起来生成一个中间的函数名称,而C语言则不会,因此会造成链接时找不到对应函数的情况,此时C函数就需要用extern “C”进行链接指定,这告诉编译器,请保持我的名称,不要给我生成用于链接的中间函数名。
本文共 275 字,大约阅读时间需要 1 分钟。
vs中C++工程加入c文件编译出现无法解析的外部符号,解决办法在include头文件的时候加上extern "C"
extern "C"{
#include "mujs.h" }原因是:
C++语言在编译的时候为了解决函数的多态问题,会将函数名和参数联合起来生成一个中间的函数名称,而C语言则不会,因此会造成链接时找不到对应函数的情况,此时C函数就需要用extern “C”进行链接指定,这告诉编译器,请保持我的名称,不要给我生成用于链接的中间函数名。
转载于:https://my.oschina.net/u/816723/blog/896818