# llvm_learn **Repository Path**: zdking-ccpp/llvm_learn ## Basic Information - **Project Name**: llvm_learn - **Description**: llvm 技术积累 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-10-15 - **Last Updated**: 2024-09-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # llvm_learn ## 介绍 llvm 技术积累 ## 安装组件 git cmake gcc ## 编译命令 mkdir build && cd build cmake -DLLVM_ENABLE_PROJECTS=all -DCMAKE_BUILD_TYPE=Release -G "Unix Makefiles" ../llvm make ## 用clang组件编译 在llvm网站下载已经编译好的可执行文件/库 wget https://github.com/llvm/llvm-project/releases/download/llvmorg-12.0.1/clang+llvm-12.0.1-x86_64-linux-gnu-ubuntu-16.04.tar.xz -O clang+llvm-12.0.1-x86_64-linux.tar.xz 解压 xz -d clang+llvm-12.0.1-x86_64-linux.tar.xz tar -xvf clang+llvm-12.0.1-x86_64-linux.tar 将clang+llvm-12.0.1-x86_64-linux加到PATH env中 export PATH=$PATH:/root/work/llvm_learn/clang+llvm-12.0.1-x86_64-linux/bin 将库全部copy到/lib64下 cp /root/work/llvm_learn/clang+llvm-12.0.1-x86_64-linux/lib/* /lib64 安装libatomic,clang会使用这个链接库 dnf install -y libatomic 编译 clang++ test.cc -o main-clang -isystem /root/work/llvm_learn/clang+llvm-12.0.1-x86_64-linux/include/c++/v1 -stdlib=libc++ -fuse-ld=lld ``` [root@3a2c6180c612 kaleidoscope_toturial]# ldd main* main-clang: linux-vdso.so.1 (0x00007ffc25bf6000) /$LIB/libonion.so => /lib64/libonion.so (0x00007fce63b4f000) libc++.so.1 => /lib64/libc++.so.1 (0x00007fce63761000) libc++abi.so.1 => /lib64/libc++abi.so.1 (0x00007fce63522000) libm.so.6 => /lib64/libm.so.6 (0x00007fce631a0000) libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fce63b29000) libc.so.6 => /lib64/libc.so.6 (0x00007fce62dde000) libdl.so.2 => /lib64/libdl.so.2 (0x00007fce62bda000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fce629ba000) librt.so.1 => /lib64/librt.so.1 (0x00007fce627b1000) libatomic.so.1 => /lib64/libatomic.so.1 (0x00007fce63b1d000) /lib64/ld-linux-x86-64.so.2 (0x00007fce63a30000) main-gcc: linux-vdso.so.1 (0x00007ffc6d38e000) /$LIB/libonion.so => /lib64/libonion.so (0x00007f3e1af93000) libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f3e1acdc000) libm.so.6 => /lib64/libm.so.6 (0x00007f3e1a95a000) libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f3e1af6d000) libc.so.6 => /lib64/libc.so.6 (0x00007f3e1a598000) libdl.so.2 => /lib64/libdl.so.2 (0x00007f3e1a394000) /lib64/ld-linux-x86-64.so.2 (0x00007f3e1ae74000) ``` ### 教程地址 https://llvm.org/docs/tutorial/MyFirstLanguageFrontend/index.html