问题标签 [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 回答
283 浏览

c++ - 如何使用 Xcode 附带的命令行工具使用外部库编译和构建程序?

我正在通过 Xcode 4.4 编写一个使用 OpenCV 2.4 的计算机视觉程序。我想通过 g++ 或 make 命令在终端中编译并制作它。但是系统显示很多错误,编译器找不到“opencv2/opencv.hpp”文件和Vec3d等..!

我的问题是如何配置我可以在终端中制作和构建代码的系统?谢谢。

0 投票
1 回答
2021 浏览

c++ - 使用 Clang、libc++ 和 c++11 制作 SFML2 应用程序。对 SFML 库的未定义引用

我在制作 SFML2 应用程序时遇到了一个奇怪的问题。我正在使用存储库中的 Clang++ 以及 libc++(今天都更新了)。SFML2 也从 SVN 存储库更新。我正在使用最新版本的 Kubuntu。大约一个月前,当我上次尝试使用当时最新的存储库时,我也遇到了同样的问题。

我传递给 c++11 和 stdlib 编译器的参数是: -std=c++11 -stdlib=libc++

这是我所说的完整版本:

当我尝试编译应用程序时,我收到来自 Clang 的链接错误:

所有应用程序(当前)所做的就是创建一个 RenderWindow。这只是一个测试应用程序,但是对于我使用的大多数 SFML2 函数,都会有一些这样的链接问题。如果我不使用 libc++,程序编译得非常好。

据我所知,如果我包含 -stdlib=libc++,它不会在 SFML2 lib 文件夹中搜索 SFML2 库以正确链接。

当我使用 -v 命令调用 Clang 时,这里是 ld 调用:

如果我不使用 -stdlib=libc++ ...

所以,如果我让人们感到困惑:如果我将 libc++ 与 Clang 一起使用,我会从第一个 ld 调用中得到上述错误。如果我不使用它,第二个 ld 调用会非常顺利,并且应用程序会成功运行。

我使用 libc++ 的原因是因为我想使用 C++11 中的线程。没有它,我的计算机拥有的 GNU C++ 标准库会出现大量错误。我不会为此发布错误列表,因为它很大并且与此问题无关。

有没有人知道我如何能够解决 SFML2 问题?如果不需要,我宁愿不使用 pthreads 库。

0 投票
2 回答
21610 浏览

c++ - std::runtime_error 子类的“调用已删除的构造函数”编译器错误

我已经派生了一个异常类std::runtime_error,以便添加对异常流的支持。我收到一个奇怪的编译器错误输出,我不确定如何解决?

更新:

我现在添加了显式调用,std::runtime_error("")因为它指出默认构造函数被标记为=delete但是错误仍然存​​在。

0 投票
1 回答
594 浏览

c++ - 简化复杂的 C++ 模板符号

我正在开发一个调试/内存工具。我想显示来自 C++ 的符号,问题是它们非常冗长。目前我只是在使用__cxa_demangle,但这通常会导致超过 500 个字符的巨大字符串,因为包含默认模板参数。

clang++当它报告符号时可以清楚地做聪明的事情,有什么办法可以利用它吗?

作为一个简单的例子,我们来看:

这显然可以报告为:

..如果我有一个足够聪明的工具。很明显,如果没有额外的知识(比如最初使用的包含 - 我可能会得到这些),这通常很难做到,但我会很感激任何指针。

到目前为止,我一直指向libcxxabi,但除了没有解析树的公共接口(它本身不会阻止我)之外,似乎我必须努力确定哪些参数是默认值. 如果我能以某种方式欺骗 clang 为我做这件事,那就太好了。

0 投票
1 回答
1531 浏览

c++ - 尝试在 Linux 上使用 Clang++ 编译 c++11 正则表达式教程时出错

我正在尝试按照本教程了解 C++11 中的正则表达式。当我尝试编译这个小代码示例时,我得到了这些错误

怎么了?

0 投票
1 回答
450 浏览

c++ - 在模板函数中调用 std::for_each 时的错误结果

测试代码:

请注意,我在不同的 lambda 中使用int itypename T::value_type vparam 类型。
编译命令:clang++ -std=c++11 -stdlib=libc++ test.cpp -o test

clang 版本 3.1 (branches/release_31) 目标:i386-pc-linux-gnu 线程模型:posix

结果:

问题是:为什么要先for_each打印出“2nd for_each”?

编辑:它可能是一个 clang++ 错误。
@KennyTM 给出了类似的更简单的代码:

结果:
1
1

0 投票
1 回答
5344 浏览

c++ - 如何使用 clang++ 在 LLVM 中编译 C++ 程序?

有一个教程 - http://llvm.org/docs/GettingStartedVS.html用纯 C 完成的示例。我可以编译和链接它。没有问题,真的。但我需要 C++,而不是纯 C。困难从这里开始。

对于 clang++,我使用类似的字符串

然后:

那里有 14 个错误LNK2001: unresolved external symbol

所以,我需要一些提示。我做错了什么?

你好.cpp:

操作系统:Windows7。

UPD:主要问题:如何从 .bc 获取 .exe?(LLVM,Windows7)

0 投票
3 回答
7059 浏览

c++ - 使用 C++11 在 Cygwin 上使用 Clang

我在 Cygwin 上安装了 Clang 并尝试编译此代码:

如果我这样做,那效果很好clang++ file.cpp。如果我这样做是行不通的clang++ file.cpp -std=c++11。我从这样的标准标题中得到错误:

Cygwin Clang 是否不能在打开 C++11 的情况下工作,或者我可以做些什么来解决这个问题?

0 投票
2 回答
6080 浏览

clang++ - clang++:C++ 需要一个类型说明符

我无法通过 clang++ 克服这个“C++ 需要所有声明的类型说明符”问题请建议使用 clang++ 克服这个错误。我非常感谢你看它

0 投票
1 回答
431 浏览

header - ELF 中 Clang 编译器的签名是什么?

我有几个gcc/g++clang/clang++.

到目前为止,我已经尝试过:

并且该命令中的每一个都无法识别生成的二进制文件clang,并且 Clang 生成的每个文件都被识别为生成的,gcc并且基本上我所有的二进制文件都是由同一编译器根据此工具生成的。

Clang 是否放置与 GCC 相同的签名?我如何获得有关哪些编译器生成了该二进制文件的信息?

谢谢。