一.配置文件
- 注意:哪怕你是生产xcode模板,也是要在llvm-project里面创建
lykPlugin
而不是去llvm_lyk_xcode这个文件夹下😂
-
Users/LYK/llvm_all/llvm-project/clang/tools
新建lyk-Plugin
文件夹 - 打开
tools
里面的CMakeLists.txt
,最末行添加add_clang_subdirectory(lyk-Plugin)
-
cd lyk-Plugin
,然后创建c++文件touch lykPlugin.cpp
- 将
tools
下的CMakeLists.txt
复制到lyk_tools
下 - 将
CMakeLists.txt
的内容替换下
add_clang_library(lykPlugin MODULE lykPlugin.cpp)
- 注意:这里不能写成add_llvm_library( lykPlugin MODULE BUILDTREE_ONLY lykPlugin.cpp),而是要写add_clang_library
- 生成xcode模板
参考llvm安装
图片.png
- 每次修改完cpp文件后,重新运行
cmake -D CMAKE_C_COMPILER=/usr/bin/gcc -D CMAKE_CXX_COMPILER=/usr/bin/g++ -G Xcode ../llvm-project/llvm -DLLVM_ENABLE_PROJECTS="clang"
- 打开xcode,编译全部
二.命令行测试
- xocde 搜索lyk得到下图
图片.png
- 命令行
/Users/LYK/llvm_all/llvm_lyk_xcode/Debug/bin/clang -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk -Xclang -load -Xclang /Users/LYK/llvm_all/llvm_lyk_xcode/Debug/lib/lykPlugin.dylib -Xclang -add-plugin -Xclang lykPlugin -c /Users/LYK/Desktop/clangDemo/clangDemo/lyk_Ctrl.m
- 有输出说明没有问题
-------- ClassName:NSArray superClassName:NSObject
-------- ClassName:NSAttributedString superClassName:NSObject
-------- ClassName:NSString superClassName:NSObject
-------- ClassName:NSNull superClassName:NSObject
三. xcode 测试
- 在build setting中搜索Other C Flags
添加-Xclang -load -Xclang /Users/LYK/llvm_all/llvm_lyk_xcode/Debug/lib/lykPlugin.dylib -Xclang -add-plugin -Xclang lykPlugin
图片.png
- CC: /Users/LYK/llvm_all/llvm_lyk_xcode/Debug/bin/clang
CCX:/Users/LYK/llvm_all/llvm_lyk_xcode/Debug/bin/clang++
图片.png
3.关闭编译建立索引
图片.png
- 编译成功!!!
网友评论