问题标签 [libc++]

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 回答
2546 浏览

c++ - 使用 clang++/libc++ 删除 Boost libstdc++ 依赖项?

这个问题的答案How to compile/link Boost with clang++/libc++? Boost使用clang++and构建的状态libc++,应该执行以下操作:

我在 Scientific Linux 6.4 x86_64 主机上测试了上述技巧,它“主要”可以构建完整的 Boost 1_53_0 发行版,使用clang++ 3.3svlibc++ 3.3svn. 我说的主要是因为我真的很想消除所有libstdc++依赖。

尽管如此,以下内容:

  • libboost_graph
  • libboost_locale
  • libboost_regex

仍然显示libstdc++依赖关系(ldd输出非常明显)。我想知道删除此类的好方法,并希望有任何提示。

0 投票
1 回答
744 浏览

c++ - 为 LLVM libc++ 3.3 构建静态库和共享库

来自 SVN的最新 LLVM libc++3.3 带有一个CMakeLists.txt. 我是 CMake 新手,但昨天我学习到能够libc++在 RHEL 6.4 x86_64 主机上构建签出。

此外,我能够在其中添加足够多的CPack相关命令CMakeLists.txt来生成libcxx-3.3.svn-0.el6.x86_64.rpm. 但很可能由于是新手CMake,我无法同时构建静态库和共享库。

是的。我回顾了是否可以让 CMake 构建同一库的静态和共享版本?. 但是,我不想使用add_libraryand 枚举所有源文件,而是想使用libc++'s CMakeList.txt- using所采用的方法APPEND

我可以通过将ON下面的第 40 行替换OFF为构建静态库来生成静态库

或者我可以保持原样并构建一个共享库。

我还修改了以下几行,NOT例如删除或注释掉第 232 和 233 行。但无论我尝试了什么,我似乎都无法让静态库与共享库一起构建。

如何调整CMakeList.txt文件以便同时构建两者?

0 投票
1 回答
1712 浏览

xcode - Mac 上 libstdc++ 中的 C++11 标准库

在我目前从事的 Xcode 项目中,我使用 C++11 和 Apple LLVM 4.2 (clang) 编译器,并使用 libstdc++ 作为我的标准库,因为我使用的库 (NTL) 不是用 libc++ 编译的,并且所以我必须使用 libstdc++。

编写以下代码时:

它不编译,说:

'regex' file not found

所以我不能在我的 libstdc++ 中使用任何 C++11 库(也试过了<mutex><thread>

我尝试采用的另一个方法是NTL使用 cc 和 libc++ 重新编译,但这似乎没什么用。以下是产生的一些错误:

似乎配置标头以某种方式“损坏”并且 libc++ 没有<iostream.h>旧的 c++ 标头。因此,重新编译NTL对我来说有点麻烦。

那么,我该如何解决呢?如何在我的项目中仍然使用 libstdc++ 并拥有 C++11 库?如果这有帮助,我已经用 brew 安装了 g++-4.8。有没有办法将clang使用的libstdc++映射到新的?

0 投票
1 回答
908 浏览

c++ - 如何链接到 /usr/local/lib 上的 libc++?

我尝试过提供-L /usr/local/lib,尝试过-nostdinc++,尝试过设置DYLD_LIBRARY_PATHDYLD_FALLBACK_LIBRARY_PATHotool离开给了我:

如何链接到我/usr/local/lib/libc++.dylib在 OS X 上编译的自定义?

编译的变化是基本的clang++ -std=c++11 -stdlib=libc++

0 投票
1 回答
1665 浏览

c++ - clang 3.2 在 std::atomic 上失败——一个 libc++ 问题?

我尝试编译简单的代码

使用 clang++ 3.2(从 llvm.org 下载为 llvm 3.2;在 mac os.x 10.8.3 上失败并出现错误

/> clang++ -std=c++11 -stdlib=libc++ -O3 -march=native -c test.cc

在 test.cc:1 中包含的文件中:

/usr/include/c++/v1/atomic:576:17:错误:原子操作的第一个参数必须是指向非 const _Atomic 类型的指针('const _Atomic(int) *' 无效)

/usr/include/c++/v1/atomic:580:53:注意:在此处请求成员函数“std::_ 1:: _ atomic_base::load”的实例化

test.cc:5:9:注意:在此处请求成员函数“std::_ 1:: _ atomic_base::operator int”的实例化

当我使用 /usr/bin/clang++ 代替(操作系统或 Xcode 附带)时,它编译得很好。在这两种情况下,libc++ 都位于 /usr/lib/c++/v1 中。

我错过了什么?llvm 3.2 中是否还有另一个 libc++,但我错过了?(我在 clang3.2 树中找不到任何东西)。

0 投票
1 回答
1985 浏览

c++ - 在 ubuntu 上使用 libc++ 对“__dynamic_cast”的未定义引用

我正在尝试编译一个使用 libc++ 的测试用例,该测试用例dynamic_cast是根据"Build on Linux using CMake and libsupc++" 编译的

我正在使用 ubuntu 13.04 并使用clang++ -std=c++11 -stdlib=libc++.

为什么我得到undefined reference to '__dynamic_cast'?如何解决?

编辑

看起来它与 libc++abi 有关,因为我__dynamic_cast在规范中看到了原型。我希望第libsupc++一个构建选项能够在没有此类问题的情况下工作......并且尝试在 linux 上编译 libc++abi本身就是另一个问题

这似乎与Compiling with Clang using Libc++ undefined references有关。

如果这确实是问题所在,是否有一个简单的过程可以在 linux 上使用 libc++ 来编译那个简短的代码片段,或者它只是还不支持?

0 投票
2 回答
3002 浏览

ios - 带有 libc++ 的 Tesseract-OCR 3.02

Xcode 4.6、iOS SDK 6.1、tesseract-ocr 3.02

由于最后的 OpenCV 版本是使用libc++构建的,而 tesseract-ocr 是使用libstdc++构建的,因此它们不能在一个 xcode 项目中一起使用。
所以,我正在尝试使用 libc++ 构建 tesseract。使用此处的脚本(将基本 sdk 和部署目标更新到 6.1),tesseract 构建得很好,一旦 C++ 标准库设置为编译器默认值,它就可以在我的 xcode 项目中工作。然后,根据此处的答案,我尝试更改脚本以使用 libc++ 构建它。我将CXX更改为指向clang++,并将-stdlib=libc++添加到CXXFLAGS
结果是脚本成功,并且构建了库,但是当在 xcode 中选择 libc++ 作为 C++ 标准库时,我收到很多链接器错误并且项目构建失败。当标准库设置为编译器默认值时(就像定期构建时一样),新库仍然有效。

我错过了什么?

0 投票
1 回答
819 浏览

c++ - c++ -std=c++11 -stdlib=libc++ with boost.thread给出Segmentation fault: 11 on OSX

试图运行一些示例代码。
但是意想不到的事情发生了。
我想知道关于 boost.thread 与 libc++ 一起使用有什么已知的问题吗?


-std=c++11使用或不使用选项编译的程序运行良好。

-stdlib=libc++但是当我用or编译时-std=c++11 -stdlib=libc++
,输出是这样的:

编译器:
Apple LLVM 版本 4.2 (clang-425.0.28)(基于 LLVM 3.2svn)
目标:x86_64-apple-darwin12.3.0
线程模型:posix

操作系统:Mac OS X 10.8.3

示例代码非常简单:

0 投票
1 回答
1283 浏览

c++ - 使用 __compressed_pa​​ir 时出错

我开始在libc++ master之上实现N3558 (请参见此处),但现在我遇到了一个错误,我不明白。future functional

无论我如何编码,它总是因__compressed_pair错误而失败。我不知道是我遗漏了什么还是libc++.

以下代码:

clang 3.3中的触发器:

使用gcc 4.8编译会给出更难看的错误消息,但基本相同。

任何人都可以解释一下吗?

0 投票
1 回答
1315 浏览

c++ - libc++ std::istringstream 不会抛出异常。漏洞?

在将 a 配置为在设置std::istringstream时抛出异常后,failbit我没有发现 libc++ 发生异常(这是在 linux 下,在 libcxxrt 的支持下编译的 libc++)。我想这是 libc++ 或 libcxxrt 中的一个错误:

libstdc++ 的输出:

libc++/libcxxrt 输出:

编辑

还在 OS X 上进行了测试。

提交的错误: http://llvm.org/bugs/show_bug.cgi?id= 15949