问题标签 [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.
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)
c++ - 错误:“constexpr”中的重新声明不同
Clang 接受此代码,但 GCC 拒绝它:
(使用 clang 3.0 和 g++ 4.6.3)
哪种解释是正确的?
code-coverage - 使用 clang++ 的代码覆盖率
有没有办法使用 clang++ 查找 C++ 代码的代码覆盖率。
我知道 gcov 但它仅适用于使用 GCC 编译的代码。
c++11 - 在 OSX 中结合 C++11 和 TR1 依赖的代码?
我有一个使用 Google Test 的 C++11 项目,它在 Linux 中构建得很好。在 Mac 上,我很难将它集成到我的代码库中。问题似乎是,虽然我的代码使用 C++11,但 Google 代码使用 TR1。因此,TR 数据结构的相似性enum
和unordered_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”。(是的,我已经那么老了。)
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
可能有什么问题?
xcode - 使用clang ++ 4.2的“选择的构造函数在复制初始化错误中是显式的”
我有铿锵++ 4.2
当我试图编译这个 c++11 代码时:
我收到此错误消息。该代码适用于 g++4.8
这是clang++错误吗?我怎样才能绕过这个错误?
stl - gtest:架构 x86_64 的未定义符号与 clang++ 和 std::vector 错误
我下载了gtest 1.6,并用clang++编译了它。
- 导出 CC=/usr/bin/clang
- 导出 CXX=/usr/bin/clang++
- 配置
- 制作
我得到了 libgtest.a,并将其复制到/usr/local/lib/libgtest_clang.a
.
当我使用简单的 C++ 代码进行测试时,一切正常,但是,当我尝试在测试代码中使用向量时,我在构建过程中收到了这些错误消息。编译工作正常。
这是我用于构建的命令行。
这是测试代码和被测代码。
objective-c++ - 使用 new[] 其中 size 是消息调用的结果会导致崩溃
我有一些Objective-C++ 代码,它为Objective-C 对象指针数组动态分配空间。大小由 Objective-C 消息调用计算:
此代码最终会导致段错误。类似的代码
工作得很好。这里发生了什么?
c++11 - 超迂腐汇编
在过去的几天里,我一直在想是否有可能比 withg++
更clang++
迂腐-std=c++11 -w -pedantic
。
特别是,我喜欢这些行为:
- 替换虚拟方法时,如果关键字不存在于替换方法的原型中
g++
,clang++
则必须引发错误override
(我认为现在是警告); - 所有方法都必须有异常提示(
noexcept
或其他),因为它非常重要,尤其是对于 ctor / dtor; - 我还在寻找您想到的任何其他迂腐功能。
ios - 使用 Clang Analyzer 生成报告 - scan-build
我是 Clang 分析器的新手,我正在尝试使用 scan-build 生成报告。使用如下扫描构建时:
我总是收到以下错误:
请帮我解决这个问题。