我在C++中调用C文件的函数,声明extern "C" FuncName(...),编译出错error C2732: linkage specification contradicts earlier specification for 'see FuncName去掉Extern"C",联接出错error LNK2001: unresolved external symbol "void __cdecl FuncName(struct Globals *,void *)" (?seed_proc_sync_data@@YAXPAUSEEDGlobals@@PAX@Z)what would i do?what would i do?
cpp文件包含这个.h时用extern "C"括起:
extern "C" {
#include "x.h"
}
头文件中
extern "C" void FuncName();CPP中
void FuncName()
{
...
}
include x.h了。为啥在extren "C"里还include?AND,我马上给你分,sale match little boy.
#include 若不放extern "C" The cpp file's object 必然找不到The func
把include放到外面,就好了,另两个函数的头文件却必须放到extern "C"{}里才行。
在一个 .c文件里实现,在一个.h里声明。
cpp文件包含这个.h时用extern "C"括起若无 *.c file, 用不到 extern "C"