cl ang 3.4 C 14支持
发布时间:2020-12-16 05:38:39 所属栏目:百科 来源:网络整理
导读:我正在使用 travis.ci来自动测试我的git仓库. 对于linux,他们使用:Ubuntu 12.04 与ang ang 3.4 根据clang page,所有C 14语言特性都由Clang 3.4支持(只要使用-std = c 1y标志). 到现在为止还挺好: 我还需要使用std :: index_sequence t0,...,tn这是库功能N3
我正在使用
travis.ci来自动测试我的git仓库.
对于linux,他们使用:Ubuntu 12.04 根据clang page,所有C 14语言特性都由Clang 3.4支持(只要使用-std = c 1y标志). 到现在为止还挺好: TestCode: #include <utility> int main() { std::index_sequence<1,2,3,4> seq; } TestBuild: > clang++ -std=c++1y pl.cpp pl.cpp:3:10: error: no member named 'index_sequence' in namespace 'std' std::index_sequence<1,4> seq; ~~~~~^ pl.cpp:3:37: error: use of undeclared identifier 'seq' std::index_sequence<1,4> seq; ^ 2 errors generated. 更新: 根据下面的建议,我试图使用libc. > sudo apt-get install -qq libc++1 libc6 libc++-dev > clang++ -stdlib=libc++ pl.cpp pl.cpp:1:10: fatal error: 'utility' file not found #include <utility> ^ 1 error generated. 解决方法
那么答案似乎是安装g -4.9
这将更新已安装的标准库,以便clang能够编译代码. sudo apt-get install python-software-properties sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test sudo apt-get update sudo apt-get install g++-4.9 ## Because I also use llvm-cov from my makefile ## I have to make sure it is in the path. a=$(sudo find / -name llvm-cov | head -1) sudo ln -s ${a} /usr/bin/llvm-cov 所以这是我添加到travis.yml文件 before_install: - if [ "$TRAVIS_OS_NAME" == "linux" -a "$CXX" == "clang++" ]; then sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test;fi - if [ "$TRAVIS_OS_NAME" == "linux" -a "$CXX" == "clang++" ]; then sudo apt-get update;fi - if [ "$TRAVIS_OS_NAME" == "linux" -a "$CXX" == "clang++" ]; then sudo apt-get install g++-4.9;fi - if [ "$TRAVIS_OS_NAME" == "linux" -a "$CXX" == "clang++" ]; then a=$(sudo find / -name llvm-cov | head -1);sudo ln -s ${a} /usr/bin/llvm-cov;fi 在我巩固我的g和clang预构建代码之后: before_install: - if [ "$TRAVIS_OS_NAME" == "linux"]; then sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y;fi - if [ "$TRAVIS_OS_NAME" == "linux"]; then sudo apt-get update;fi - if [ "$TRAVIS_OS_NAME" == "linux"]; then sudo apt-get install -qq g++-4.9;fi - if [ "$TRAVIS_OS_NAME" == "linux" -a "$CXX" == "g++" ]; then sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 90;fi - if [ "$TRAVIS_OS_NAME" == "linux" -a "$CXX" == "g++" ]; then sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.9 90;fi - if [ "$TRAVIS_OS_NAME" == "linux" -a "$CXX" == "g++" ]; then sudo update-alternatives --install /usr/bin/gcov gcov /usr/bin/gcov-4.9 90;fi - if [ "$TRAVIS_OS_NAME" == "linux" -a "$CXX" == "clang++" ]; then a=$(sudo find / -name llvm-cov | head -1);sudo ln -s ${a} /usr/bin/llvm-cov;fi (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容