问题标签 [clang++]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1999 浏览

macos - libtool:链接:不支持的硬编码属性 - 空白 CXX 配置

错误

当我尝试在 OS X 上为基于 autotools 的项目执行 make 时收到以下错误:

make 调用 libtool 如下:

调查

我已将问题范围缩小到使用 CXX 标签。出于某种原因,libtool 脚本(通过运行 ./configure 生成 libtoolize 等)输出 CXX 配置,如下所示:

如您所见,一切都是空白的。所以 libtool 脚本很糟糕,这是正确的。所以我的困惑在于 libtool 脚本最终是如何包含这个虚假的 CXX 配置的。

CC配置没问题。只需使用 --tag=CC 调用 libtool 脚本实际上就足以让我的项目链接得很好。但是,这显然是不正确的;你应该能够执行:

./配置输出

设置详细信息

库工具版本: 2.4.2

libtool 修订版: 1.3337

自动配置版本: GNU Autoconf 2.69

clang++ 版本: Apple LLVM 4.2 版(clang-425.0.24)(基于 LLVM 3.2svn)

0 投票
2 回答
1746 浏览

c++ - 错误:“constexpr”中的重新声明不同

Clang 接受此代码,但 GCC 拒绝它:

(使用 clang 3.0 和 g++ 4.6.3)

哪种解释是正确的?

0 投票
2 回答
2066 浏览

code-coverage - 使用 clang++ 的代码覆盖率

有没有办法使用 clang++ 查找 C++ 代码的代码覆盖率。

我知道 gcov 但它仅适用于使用 GCC 编译的代码。

0 投票
1 回答
1118 浏览

c++11 - 在 OSX 中结合 C++11 和 TR1 依赖的代码?

我有一个使用 Google Test 的 C++11 项目,它在 Linux 中构建得很好。在 Mac 上,我很难将它集成到我的代码库中。问题似乎是,虽然我的代码使用 C++11,但 Google 代码使用 TR1。因此,TR 数据结构的相似性enumunordered_set包含方式不同。

Google 测试示例按照提供的方式完美构建和运行。如果我使用 clang++ 而不是 g++,这些示例也可以构建得很好。(我的代码仅适用于 clang++,所以我使用它来构建。)最后,如果我使用-std=c++11.

但是,如果使用-stdlib=libc++. 它报告它找不到 tr1/tuple,这当然是真的。这是一个问题,因为如果我使用(或没有参数) ,我的代码不会构建。-stdlib=libstdc++stdlib

当然,我可以将所有代码切换到旧标准。然而,这非常令人讨厌。有没有办法让这些代码库在 Mac 上愉快地并存?

我的代码在 Ubuntu 12.04 计算机上使用 g++ 4.6.3 通过 Google 测试构建得非常愉快。mac 运行的是 OSX 10.8.3。它正在运行 g++ 4.2.1 和 clang 4.2++。

感谢您的帮助,大卫

PS:我对 C++ 有点陌生,如果这是一个愚蠢的问题,请原谅我。

编辑:将“OS/X”更改为“OSX”。(是的,我已经那么老了。)

0 投票
2 回答
242 浏览

xcode - Mac 上来自 clang++ 的二进制文件的 lldb 问题

我有铿锵++ 4.1

我也有 lldb 167.5

我用这个命令编译了简单的 c++ 代码。

当我尝试用 lldb 调试它时,我执行了 lldb ./a,设置断点b main并运行。

C++ 源代码在这篇文章中:How to print the content in vector<unique_ptr> with gdb on Mac OS X

可能有什么问题?

0 投票
1 回答
11772 浏览

xcode - 使用clang ++ 4.2的“选择的构造函数在复制初始化错误中是显式的”

我有铿锵++ 4.2

当我试图编译这个 c++11 代码时:

我收到此错误消息。该代码适用于 g++4.8

这是clang++错误吗?我怎样才能绕过这个错误?

0 投票
2 回答
4764 浏览

stl - gtest:架构 x86_64 的未定义符号与 clang++ 和 std::vector 错误

我下载了gtest 1.6,并用clang++编译了它。

  1. 导出 CC=/usr/bin/clang
  2. 导出 CXX=/usr/bin/clang++
  3. 配置
  4. 制作

我得到了 libgtest.a,并将其复制到/usr/local/lib/libgtest_clang.a.

当我使用简单的 C++ 代码进行测试时,一切正常,但是,当我尝试在测试代码中使用向量时,我在构建过程中收到了这些错误消息。编译工作正常。

这是我用于构建的命令行。

这是测试代码和被测代码。

0 投票
1 回答
61 浏览

objective-c++ - 使用 new[] 其中 size 是消息调用的结果会导致崩溃

我有一些Objective-C++ 代码,它为Objective-C 对象指针数组动态分配空间。大小由 Objective-C 消息调用计算:

此代码最终会导致段错误。类似的代码

工作得很好。这里发生了什么?

0 投票
1 回答
694 浏览

c++11 - 超迂腐汇编

在过去的几天里,我一直在想是否有可能比 withg++clang++迂腐-std=c++11 -w -pedantic

特别是,我喜欢这些行为:

  • 替换虚拟方法时,如果关键字不存在于替换方法的原型中g++clang++则必须引发错误override(我认为现在是警告);
  • 所有方法都必须有异常提示(noexcept或其他),因为它非常重要,尤其是对于 ctor / dtor;
  • 我还在寻找您想到的任何其他迂腐功能。
0 投票
1 回答
2073 浏览

ios - 使用 Clang Analyzer 生成报告 - scan-build

我是 Clang 分析器的新手,我正在尝试使用 scan-build 生成报告。使用如下扫描构建时:

我总是收到以下错误:

请帮我解决这个问题。