c/c++混合编程 error LNK2019 错误解决一例

进行c、c++ 混合编程,遇到下列链接错误。

1>Linking...
1>testOAth.obj : error LNK2001: unresolved external symbol "char * __cdecl oauth_sign(char *,char *,char *,char *,char *,char *,int,char * *)" (?oauth_sign@@YAPADPAD00000HPAPAD@Z)

具体情况:

在一个控制台测试例程中,c/c++混合编程,

在oathsign.h和oathsign.c中定义了一些函数(包括oauth_sign),

char* oauth_sign( char* consumer_key, char* consumer_key_secret, char* token, char* token_secret, char* method, char* url, int paramc, char** paramv );

在main函数所在的testOAth.cpp中#include"oathsign.h"

然后再main函数中调用oauth_sign,结果出现链接错误LNK2001

 

解决:将.h文件中函数声明为extern

#ifdef __cplusplus extern "C" {//__cplusplus #endif char* oauth_sign( char* consumer_key, char* consumer_key_secret, char* token, char* token_secret, char* method, char* url, int paramc, char** paramv ); #ifdef __cplusplus } #endif //__cplusplus

 

你可能感兴趣的:(编程,c,测试,url,token)