草庐IT

CLANG_ENABLE_MODULE_DEBUGGING

全部标签

c++ - 使用 C++0x : call to deleted constructor of 时的 clang++ 错误消息

您好,我已经将我的Xcode升级到4.2版,并将clang++升级到以下版本:Appleclangversion3.0(tags/Apple/clang-211.10.1)(basedonLLVM3.0svn)Target:x86_64-apple-darwin11.2.0Threadmodel:posix当尝试使用clang-std=c++0x编译以下代码时#include#include#includeclassilpConstraintImpl{public:virtual~ilpConstraintImpl(){}};classilpConstraint{public:ilpC

c++ - 为什么 clang++ 无法在 Mavericks 下的 Mac 上编译,除了 sudo?

在我的mac上进行了最新的软件更新后,我无法在没有sudo的情况下编译和链接c++helloworld程序。程序(helloworld.cpp):#includeintmain(){std::cout调用:clang++helloworld.cpp因错误而失败:ld:can'twriteoutputfile:a.outforarchitecturex86_64clang:error:linkercommandfailedwithexitcode1(use-vtoseeinvocation)但如果我在sudo下执行此操作,sudoclang++helloworld.cpp没问题。可能是什

c++ - enable_shared_from_this 需要什么?

这个问题在这里已经有了答案:Whatistheusefulnessof`enable_shared_from_this`?(6个答案)关闭6年前。我是C++11的新手,我遇到了enable_shared_from_this。我不明白它试图达到什么目的?所以我有一个使用enable_shared_from_this的程序。structTestCase:enable_shared_from_this{std::shared_ptrgetptr(){returnshared_from_this();}~TestCase(){std::coutobj1(newTestCase);std::sh

c++ - 在 Eclipse CDT 中使用 Clang 静态分析器

虽然理论上可以将外部静态分析器集成到Eclipse中,如所演示的here(即对于Cppcheck),我想知道是否存在不需要插件开发的更新解决方案?例如,现有插件、CODAN中的可用选项或上述ClangStaticAnalyzer教程的简化版本。 最佳答案 CodeCheckerEclipsePlugin是一个Eclipse插件,可以显示C/C++项目的ClangStaticAnalyzer和ClangTidy缺陷。安装后,您可以将它作为“CodeCheckernature”添加到您的CDT项目中。唯一的软件要求是您的机器上必须安装C

c++ - Clang 不会在编译时为非 constexpr 变量计算 constexpr 函数的值

部分代码:constexprintsum(inta,intb){returna+b;}intmain(){inta=sum(4,5);return0;}我用clang-9编译这段代码,但它在编译时不会计算main函数中inta的值。如果我使用constexprintaclang会在编译时评估它,但我无法在运行时更改此变量。但是gcc-7.1在编译时计算inta的值。为什么会这样?如何解决? 最佳答案 当您希望在编译时预先计算一个值然后绑定(bind)到允许修改的标识符时,您只能通过使用constexpr初始化非constexpr对象

c++ - 链接 clang-llvm

我一直在使用clang/llvm开发一个小工具,但我未能成功获得g++和gnu的链接器以将我的代码正确链接到clang。我的链接器产生了以下错误:undefinedreferenceto`clang::FileManager::~FileManager()'undefinedreferenceto`clang::FileManager::FileManager()'undefinedreferenceto`llvm::sys::getHostTriple()'undefinedreferenceto`clang::Diagnostic::Diagnostic(clang::Diagno

c++ - 如何使用 macports 安装 clang 3.1? (OSX,雪豹)

我想使用macports安装最新的clang(3.1)编译器(我使用emacs而不是xcode,而且xcode附带的clang版本无论如何都较旧)。macports似乎有最新版本的gcc,但是当我输入“portlistclang”时,显示的唯一版本是2.9。我使用C++11功能,所以我想使用最新版本。我在MBP上运行雪豹。 最佳答案 Clang在MacPorts上有几个不同的版本:$portsearchclangclang@2.9(lang)C,C++,ObjectiveCandObjectiveC++compilerclang-2

c++ - 使用 clang 优化进行编译时出现意外结果

我在我的代码中发现了一个错误,只有当我启用编译器优化-O1或更高时才会发生。我跟踪了这​​个错误,似乎在启用优化时我无法在boost转换范围上使用boost类型删除适配器。我写了这个c++程序来重现它:#include#include#include#includeusingnamespaceboost::adaptors;usingnamespacestd;intaddOne(intb){returnb+1;}intmain(int,char**){vectornums{1,2,3};autoresult1=nums|transformed(addOne)|type_erased()

c++ - 带有复制构造函数的 enable_if

我第一次尝试std::enable_if并且很挣扎。任何指导将不胜感激。作为玩具示例,这是一个简单的静态vector类,我想为其定义一个复制构造函数,但行为取决于vector的相对大小:只需将数据复制到更小或相同大小的vector中将数据复制到一个更大的vector中,然后用零填充其余部分所以vector类是:templateclassVector{double_data[_Size];public:Vector(){std::fill(_data,_data+_Size,0.0);}constdouble*data()const{return_data;}//...};复制构造函数应

c++ - 在类定义之外使用 enable_if 实现函数

所以基本上,我现在有一个非常基本的通用类,目前正在测试type_traitsheader。我目前正在尝试制作一个函数来处理某些类型,即现在的算术类型。#includetemplateclassTest{public:templatetypenamestd::enable_if::value>::typeprint();};该函数完美运行且仅适用于算术类型。但我喜欢保持我的类整洁,只有它们有原型(prototype),而函数实现在类之外。使用标准模板即voidtest();templatevoidTest::test(){}这很简单,我知道怎么做,但我不知道如何用“std::enable