美文网首页
clang插件开发

clang插件开发

作者: 李永开 | 来源:发表于2021-09-15 20:48 被阅读0次

    一.配置文件

    • 注意:哪怕你是生产xcode模板,也是要在llvm-project里面创建lykPlugin而不是去llvm_lyk_xcode这个文件夹下😂
    1. Users/LYK/llvm_all/llvm-project/clang/tools新建lyk-Plugin文件夹
    2. 打开tools里面的CMakeLists.txt,最末行添加add_clang_subdirectory(lyk-Plugin)
    3. cd lyk-Plugin,然后创建c++文件touch lykPlugin.cpp
    4. tools下的CMakeLists.txt复制到 lyk_tools
    5. CMakeLists.txt的内容替换下
    add_clang_library(lykPlugin MODULE lykPlugin.cpp)
    
    • 注意:这里不能写成add_llvm_library( lykPlugin MODULE BUILDTREE_ONLY lykPlugin.cpp),而是要写add_clang_library
    1. 生成xcode模板
      参考llvm安装
    图片.png
    1. 每次修改完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"
    2. 打开xcode,编译全部

    二.命令行测试

    1. xocde 搜索lyk得到下图
    图片.png
    1. 命令行/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
    2. 有输出说明没有问题
    -------- ClassName:NSArray superClassName:NSObject
    -------- ClassName:NSAttributedString superClassName:NSObject
    -------- ClassName:NSString superClassName:NSObject
    -------- ClassName:NSNull superClassName:NSObject
    

    三. xcode 测试

    1. 在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
    1. 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
    1. 编译成功!!!

    相关文章

      网友评论

          本文标题:clang插件开发

          本文链接:https://www.haomeiwen.com/subject/hnwnrltx.html