xcode编写静态库注意事项

如果是和C,c++混编,修改编译选项

1.单击你的工程,选择TARGET下的目标文件
2.在选项卡中选择“Build Settings”选项
3.找到“Apple LLVM compiler x.x - Language”设置项(其中x.x为你的xcode默认的LLVM编译器版本,不同的xcode版本不一样)
4.图中绿色选中的选项“Compile Sources As”,意思是要把工程按照哪一种语言进行编译,默认是第一个“According to File Type”,将其改成Objective-C++即可。

第二种方法
搜索GCC_INPUT,同样也是修改Compile Sources As

编译C文件的时候,malloc函数报错

解决办法:#include “mm_malloc.h”

编译文件的时候出现错误 Undefined symbols for architecture x86_64:

Undefined symbols for architecture x86_64:
“operator new[](unsigned long)”, referenced from:
-[TTSAudio initWithPath:BufferSize:] in liblibtest3.a(TTSAudio.o)
“___gxx_personality_v0”, referenced from:
-[TTSAudio initWithPath:BufferSize:] in liblibtest3.a(TTSAudio.o)
Dwarf Exception Unwind Info (__eh_frame) in liblibtest3.a(TTSAudio.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
原因:找不到相应的c++的库函数
解决办法 target->Build Phases->Link Binary with Libraries 添加 libc++.tbd 库函数 libc++是Xcode的c++函数库

导出需要的头文件

编写完成静态库,需要导出所需的头文件,Xcode会自动把这些头文件拷贝到生成的静态库的目录中去 同时可以修改其生成文件的路径
修改配置 Targets-》Build Phases-》Copy Files

你可能感兴趣的:(ios开发学习)