简体   繁体   English

如何在 Snapcraft 中启用 C++14 和 CLang?

[英]How to enable C++14 with CLang in Snapcraft?

So I have some myapp, which needs clang of version 14 or higher for building, and following important part of snapcraft.yaml:所以我有一些 myapp,它需要版本 14 或更高版本的 clang 来构建,并遵循 snapcraft.yaml 的重要部分:

base: core20
confinement: devmode

parts:
    myapp:
        plugin: make
        source-type: local
        source: ./myapp/
        build-packages:
            - clang
            - git
            - python
            - make
            - cmake
            - ninja-build
        override-build: |
            export CC=clang-14
            export CXX=clang++-14
            mkdir build
            cd build
            cmake ..
            ninja

But when I try to run it with但是当我尝试运行它时

sudo snapcraft --use-lxd

it returns:它返回:

CMake Error at /usr/share/cmake-3.16/Modules/CMakeDetermineCCompiler.cmake:49 (message):
  Could not find compiler set in environment variable CC:

  clang-14.
Call Stack (most recent call first):
  CMakeLists.txt:29 (project)


CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage
CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage

Locally everything works just fine.在本地一切正常。 What am I doing wrong?我究竟做错了什么?

Adding添加

sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)"

before exports with appropriate build-packages(lab-release, wget, software-properties-common) solved the problem.在使用适当的构建包(lab-release、wget、software-properties-common)导出之前解决了这个问题。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM