国产系统 统信 uos20 飞腾CPU Clang13源码编译 安装适配qt5.15 

国产系统 统信 uos20 飞腾CPU Clang13源码编译 安装适配qt5.15

 

系统信息

 

源码下载

git clone https://github.com/llvm/llvm-project

官方说明

Build LLVM and Clang:
    cd llvm-project
    mkdir build (in-tree build is not supported)
    cd build
    cmake -DLLVM_ENABLE_PROJECTS=clang -G "Unix Makefiles" ../llvm
    make
    This builds both LLVM and Clang for debug mode.
    Note: For subsequent Clang development, you can just run make clang.
    CMake allows you to generate project files for several IDEs: Xcode, Eclipse CDT4, CodeBlocks, Qt-Creator (use the CodeBlocks generator), KDevelop3. For more details see Building LLVM with CMake page.

编译

#进入源码目录

 cd llvm-project

#创建目录
    mkdir build  

#进入构建目录
    cd build

#cmake 加上 -DCMAKE_BUILD_TYPE=Release 参数
    cmake -DLLVM_ENABLE_PROJECTS=clang -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release ../llvm

#编译    

make -j4 

#安装

sudo make install

#检查版本 clang -v

user@user-PC:~/clang/llvm-project/build$ clang -v
clang version 13.0.0 (https://github.com/llvm/llvm-project.git 99951aa68da3c85ba03edf977cd9b22458aae6ca)
Target: aarch64-unknown-linux-gnu
Thread model: posix
InstalledDir: /usr/local/bin
Found candidate GCC installation: /usr/lib/gcc/aarch64-linux-gnu/8
Selected GCC installation: /usr/lib/gcc/aarch64-linux-gnu/8
Candidate multilib: .;@m64
Selected multilib: .;@m64

构建目录大小4.1个g

配置qt

安装成功后 qt creator 已经检测到

选择clang编译器

 

编译demo

 

qt5.15 静态编译

user@user-PC:~/build-clangTest-5_15_static_clang-Debug$ ldd clangTest
        linux-vdso.so.1 (0x0000ffff90f03000)
        libxcb-glx.so.0 => /lib/aarch64-linux-gnu/libxcb-glx.so.0 (0x0000ffff90e7d000)
        libxcb-icccm.so.4 => /lib/aarch64-linux-gnu/libxcb-icccm.so.4 (0x0000ffff90e68000)
        libxcb-image.so.0 => /lib/aarch64-linux-gnu/libxcb-image.so.0 (0x0000ffff90e53000)
        libxcb-shm.so.0 => /lib/aarch64-linux-gnu/libxcb-shm.so.0 (0x0000ffff90e3f000)
        libxcb-keysyms.so.1 => /lib/aarch64-linux-gnu/libxcb-keysyms.so.1 (0x0000ffff90e2c000)
        libxcb-randr.so.0 => /lib/aarch64-linux-gnu/libxcb-randr.so.0 (0x0000ffff90e0c000)
        libxcb-render-util.so.0 => /lib/aarch64-linux-gnu/libxcb-render-util.so.0 (0x0000ffff90df8000)
        libxcb-render.so.0 => /lib/aarch64-linux-gnu/libxcb-render.so.0 (0x0000ffff90ddb000)
        libxcb-shape.so.0 => /lib/aarch64-linux-gnu/libxcb-shape.so.0 (0x0000ffff90dc7000)
        libxcb-sync.so.1 => /lib/aarch64-linux-gnu/libxcb-sync.so.1 (0x0000ffff90db0000)
        libxcb-xfixes.so.0 => /lib/aarch64-linux-gnu/libxcb-xfixes.so.0 (0x0000ffff90d98000)
        libxcb-xinerama.so.0 => /lib/aarch64-linux-gnu/libxcb-xinerama.so.0 (0x0000ffff90d85000)
        libxcb-xkb.so.1 => /lib/aarch64-linux-gnu/libxcb-xkb.so.1 (0x0000ffff90d5a000)
        libxcb-xinput.so.0 => /lib/aarch64-linux-gnu/libxcb-xinput.so.0 (0x0000ffff90d29000)
        libSM.so.6 => /lib/aarch64-linux-gnu/libSM.so.6 (0x0000ffff90d11000)
        libICE.so.6 => /lib/aarch64-linux-gnu/libICE.so.6 (0x0000ffff90ce5000)
        libxkbcommon-x11.so.0 => /lib/aarch64-linux-gnu/libxkbcommon-x11.so.0 (0x0000ffff90ccd000)
        libtiff.so.5 => /lib/aarch64-linux-gnu/libtiff.so.5 (0x0000ffff90c42000)
        libdrm.so.2 => /lib/aarch64-linux-gnu/libdrm.so.2 (0x0000ffff90c20000)
        libudev.so.1 => /lib/aarch64-linux-gnu/libudev.so.1 (0x0000ffff90bec000)
        libX11-xcb.so.1 => /lib/aarch64-linux-gnu/libX11-xcb.so.1 (0x0000ffff90bda000)
        libxcb.so.1 => /lib/aarch64-linux-gnu/libxcb.so.1 (0x0000ffff90ba3000)
        libwayland-egl.so.1 => /lib/aarch64-linux-gnu/libwayland-egl.so.1 (0x0000ffff90b91000)
        libEGL.so.1 => /lib/aarch64-linux-gnu/libEGL.so.1 (0x0000ffff90b6d000)
        libXcomposite.so.1 => /lib/aarch64-linux-gnu/libXcomposite.so.1 (0x0000ffff90b5a000)
        libXext.so.6 => /lib/aarch64-linux-gnu/libXext.so.6 (0x0000ffff90b37000)
        libX11.so.6 => /lib/aarch64-linux-gnu/libX11.so.6 (0x0000ffff909ed000)
        libfontconfig.so.1 => /lib/aarch64-linux-gnu/libfontconfig.so.1 (0x0000ffff90998000)
        libfreetype.so.6 => /lib/aarch64-linux-gnu/libfreetype.so.6 (0x0000ffff908d9000)
        libdbus-1.so.3 => /lib/aarch64-linux-gnu/libdbus-1.so.3 (0x0000ffff90876000)
        libwayland-cursor.so.0 => /lib/aarch64-linux-gnu/libwayland-cursor.so.0 (0x0000ffff9085e000)
        libwayland-client.so.0 => /lib/aarch64-linux-gnu/libwayland-client.so.0 (0x0000ffff9083f000)
        libxkbcommon.so.0 => /lib/aarch64-linux-gnu/libxkbcommon.so.0 (0x0000ffff907f0000)
        libharfbuzz.so.0 => /lib/aarch64-linux-gnu/libharfbuzz.so.0 (0x0000ffff906ec000)
        libm.so.6 => /lib/aarch64-linux-gnu/libm.so.6 (0x0000ffff9062f000)
        libicui18n.so.63 => /lib/aarch64-linux-gnu/libicui18n.so.63 (0x0000ffff90368000)                      
        libicuuc.so.63 => /lib/aarch64-linux-gnu/libicuuc.so.63 (0x0000ffff90193000)                          
        libicudata.so.63 => /lib/aarch64-linux-gnu/libicudata.so.63 (0x0000ffff8e795000)                      
        libdl.so.2 => /lib/aarch64-linux-gnu/libdl.so.2 (0x0000ffff8e781000)                                  
        libgthread-2.0.so.0 => /lib/aarch64-linux-gnu/libgthread-2.0.so.0 (0x0000ffff8e76f000)                
        libglib-2.0.so.0 => /lib/aarch64-linux-gnu/libglib-2.0.so.0 (0x0000ffff8e63c000)                      
        libGL.so.1 => /lib/aarch64-linux-gnu/libGL.so.1 (0x0000ffff8e539000)
        libpthread.so.0 => /lib/aarch64-linux-gnu/libpthread.so.0 (0x0000ffff8e508000)
        libstdc++.so.6 => /lib/aarch64-linux-gnu/libstdc++.so.6 (0x0000ffff8e37d000)
        libgcc_s.so.1 => /lib/aarch64-linux-gnu/libgcc_s.so.1 (0x0000ffff8e359000)
        libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffff8e1e8000)
        /lib/ld-linux-aarch64.so.1 (0x0000ffff90ed5000)
        libxcb-util.so.0 => /lib/aarch64-linux-gnu/libxcb-util.so.0 (0x0000ffff8e1d1000)
        libuuid.so.1 => /lib/aarch64-linux-gnu/libuuid.so.1 (0x0000ffff8e1b7000)
        libbsd.so.0 => /lib/aarch64-linux-gnu/libbsd.so.0 (0x0000ffff8e191000)
        libwebp.so.6 => /lib/aarch64-linux-gnu/libwebp.so.6 (0x0000ffff8e12f000)
        libzstd.so.1 => /lib/aarch64-linux-gnu/libzstd.so.1 (0x0000ffff8e098000)
        liblzma.so.5 => /lib/aarch64-linux-gnu/liblzma.so.5 (0x0000ffff8e063000)
        libjbig.so.0 => /lib/aarch64-linux-gnu/libjbig.so.0 (0x0000ffff8e046000)
        libjpeg.so.62 => /lib/aarch64-linux-gnu/libjpeg.so.62 (0x0000ffff8dff4000)
        libz.so.1 => /lib/aarch64-linux-gnu/libz.so.1 (0x0000ffff8dfca000)
        libXau.so.6 => /lib/aarch64-linux-gnu/libXau.so.6 (0x0000ffff8dfb6000)
        libXdmcp.so.6 => /lib/aarch64-linux-gnu/libXdmcp.so.6 (0x0000ffff8dfa0000)
        libGLdispatch.so.0 => /lib/aarch64-linux-gnu/libGLdispatch.so.0 (0x0000ffff8de71000)
        libexpat.so.1 => /lib/aarch64-linux-gnu/libexpat.so.1 (0x0000ffff8de30000)
        libpng16.so.16 => /lib/aarch64-linux-gnu/libpng16.so.16 (0x0000ffff8ddec000)
        libsystemd.so.0 => /lib/aarch64-linux-gnu/libsystemd.so.0 (0x0000ffff8dd3f000)
        libffi.so.6 => /lib/aarch64-linux-gnu/libffi.so.6 (0x0000ffff8dd27000)
        librt.so.1 => /lib/aarch64-linux-gnu/librt.so.1 (0x0000ffff8dd0f000)
        libgraphite2.so.3 => /lib/aarch64-linux-gnu/libgraphite2.so.3 (0x0000ffff8dcda000)
        libpcre.so.3 => /lib/aarch64-linux-gnu/libpcre.so.3 (0x0000ffff8dc67000)
        libGLX.so.0 => /lib/aarch64-linux-gnu/libGLX.so.0 (0x0000ffff8dc25000)
        liblz4.so.1 => /lib/aarch64-linux-gnu/liblz4.so.1 (0x0000ffff8dbfa000)
        libgcrypt.so.20 => /lib/aarch64-linux-gnu/libgcrypt.so.20 (0x0000ffff8db2b000)
        libgpg-error.so.0 => /lib/aarch64-linux-gnu/libgpg-error.so.0 (0x0000ffff8dafb000)

user@user-PC:~/build-clangTest-5_15_static_clang-Debug$ ls -la
总用量 18548
drwxr-xr-x  2 user user     4096 2月  25 18:48 .
drwxr-xr-x 53 user user     4096 2月  25 18:41 ..
-rwxr-xr-x  1 user user 18042352 2月  25 18:48 clangTest
-rw-r--r--  1 user user     1597 2月  25 18:41 clangtest_plugin_import.cpp
-rw-r--r--  1 user user    79792 2月  25 18:48 clangtest_plugin_import.o
-rw-r--r--  1 user user    25024 2月  25 18:48 main.o
-rw-r--r--  1 user user   360576 2月  25 18:48 mainwindow.o
-rw-r--r--  1 user user   104870 2月  25 18:48 Makefile
-rw-r--r--  1 user user     2712 2月  25 18:48 moc_mainwindow.cpp
-rw-r--r--  1 user user   324360 2月  25 18:48 moc_mainwindow.o
-rw-r--r--  1 user user    13277 2月  25 18:48 moc_predefs.h
-rw-r--r--  1 user user      960 2月  25 18:41 .qmake.stash
-rw-r--r--  1 user user     2196 2月  25 18:48 ui_mainwindow.h

qt5.15 动态编译

user@user-PC:~/build-clangTest-5_15_clang-Debug$ ldd clangTest
        linux-vdso.so.1 (0x0000ffffb9429000)
        libQt5Widgets.so.5 => /usr/local/Qt-5.15/lib/libQt5Widgets.so.5 (0x0000ffffb8d84000)
        libQt5Gui.so.5 => /usr/local/Qt-5.15/lib/libQt5Gui.so.5 (0x0000ffffb8715000)
        libQt5Core.so.5 => /usr/local/Qt-5.15/lib/libQt5Core.so.5 (0x0000ffffb810b000)
        libGL.so.1 => /lib/aarch64-linux-gnu/libGL.so.1 (0x0000ffffb7fda000)
        libpthread.so.0 => /lib/aarch64-linux-gnu/libpthread.so.0 (0x0000ffffb7fab000)
        libstdc++.so.6 => /lib/aarch64-linux-gnu/libstdc++.so.6 (0x0000ffffb7e20000)
        libm.so.6 => /lib/aarch64-linux-gnu/libm.so.6 (0x0000ffffb7d63000)
        libgcc_s.so.1 => /lib/aarch64-linux-gnu/libgcc_s.so.1 (0x0000ffffb7d3f000)
        libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffffb7bce000)
        libharfbuzz.so.0 => /lib/aarch64-linux-gnu/libharfbuzz.so.0 (0x0000ffffb7aca000)
        libicui18n.so.63 => /lib/aarch64-linux-gnu/libicui18n.so.63 (0x0000ffffb7803000)
        libicuuc.so.63 => /lib/aarch64-linux-gnu/libicuuc.so.63 (0x0000ffffb762e000)
        libicudata.so.63 => /lib/aarch64-linux-gnu/libicudata.so.63 (0x0000ffffb5c30000)
        libdl.so.2 => /lib/aarch64-linux-gnu/libdl.so.2 (0x0000ffffb5c1c000)
        libgthread-2.0.so.0 => /lib/aarch64-linux-gnu/libgthread-2.0.so.0 (0x0000ffffb5c0a000)
        libglib-2.0.so.0 => /lib/aarch64-linux-gnu/libglib-2.0.so.0 (0x0000ffffb5ad7000)
        libGLX.so.0 => /lib/aarch64-linux-gnu/libGLX.so.0 (0x0000ffffb5a95000)
        libGLdispatch.so.0 => /lib/aarch64-linux-gnu/libGLdispatch.so.0 (0x0000ffffb5966000)
        /lib/ld-linux-aarch64.so.1 (0x0000ffffb93fb000)
        libfreetype.so.6 => /lib/aarch64-linux-gnu/libfreetype.so.6 (0x0000ffffb58a7000)
        libgraphite2.so.3 => /lib/aarch64-linux-gnu/libgraphite2.so.3 (0x0000ffffb5874000)
        libpcre.so.3 => /lib/aarch64-linux-gnu/libpcre.so.3 (0x0000ffffb5801000)
        libX11.so.6 => /lib/aarch64-linux-gnu/libX11.so.6 (0x0000ffffb56b7000)
        libXext.so.6 => /lib/aarch64-linux-gnu/libXext.so.6 (0x0000ffffb5694000)
        libpng16.so.16 => /lib/aarch64-linux-gnu/libpng16.so.16 (0x0000ffffb5650000)
        libz.so.1 => /lib/aarch64-linux-gnu/libz.so.1 (0x0000ffffb5626000)
        libxcb.so.1 => /lib/aarch64-linux-gnu/libxcb.so.1 (0x0000ffffb55ef000)
        libXau.so.6 => /lib/aarch64-linux-gnu/libXau.so.6 (0x0000ffffb55db000)
        libXdmcp.so.6 => /lib/aarch64-linux-gnu/libXdmcp.so.6 (0x0000ffffb55c5000)
        libbsd.so.0 => /lib/aarch64-linux-gnu/libbsd.so.0 (0x0000ffffb559f000)
        librt.so.1 => /lib/aarch64-linux-gnu/librt.so.1 (0x0000ffffb5587000)

user@user-PC:~/build-clangTest-5_15_clang-Debug$ ls -la
总用量 1116
drwxr-xr-x  2 user user   4096 2月  25 18:43 .
drwxr-xr-x 53 user user   4096 2月  25 18:41 ..
-rwxr-xr-x  1 user user 329512 2月  25 18:43 clangTest                                                        
-rw-r--r--  1 user user  24944 2月  25 18:41 main.o                                                           
-rw-r--r--  1 user user 359328 2月  25 18:43 mainwindow.o                                                     
-rw-r--r--  1 user user  61243 2月  25 18:41 Makefile                                                         
-rw-r--r--  1 user user   2712 2月  25 18:41 moc_mainwindow.cpp                                               
-rw-r--r--  1 user user 322928 2月  25 18:41 moc_mainwindow.o                                                 
-rw-r--r--  1 user user  13277 2月  25 18:41 moc_predefs.h
-rw-r--r--  1 user user    960 2月  25 18:41 .qmake.stash
-rw-r--r--  1 user user   2196 2月  25 18:42 ui_mainwindow.h
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值