Undefined symbols for architecture armv7:
"b64_decode(char const, unsigned char, int)", referenced from:
_main in main.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
代码如下
int b64_len = b64_decode(tmpStr, (unsigned char *)target, MAX_PATH_LEN);
很简单的一个调用C的方法
在我程序里面调用一个C的方法,编译的时候竟然报错了 , 找了很久也没有找到原因 ,另外新建了一个工程, 调用同样的方法竟然没有事情 , 奇怪了
后来发现, 我的.m 因为需要已经改成了.mm文件了, C++和OC混编的那种, 再调用其他.c文件中的C函数的时候就会报错
解决办法有以下两种
1.在C函数头文件函数声明上方添加
#ifdef __cplusplus
extern "C"
#endif
2.Build Settings->Compile Sources As 改成Objective-C++
如下图: