问题标签 [abseil]

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 投票
0 回答
349 浏览

c++ - 使用 WebRTC 静态库构建对等连接失败

当我想构建将 Webrtc 链接为静态库的 peerconnection 示例时遇到了一些问题。

我的构建环境和目标都是 ubuntu 18.04,我使用 Github repo https://github.com/vsimon/webrtcbuilds将 Webrtc 构建为静态库。

然后有很多关于absl libray的链接错误,经过一些调查,我添加了一些构建参数以消除大部分错误,如下所示:

但它仍然有几个我无法解决的链接错误:

我希望任何人都可以给我一些提示来解决它们,非常感谢!

0 投票
0 回答
620 浏览

python - 使用 Abseil 与直接调用 main()?

我一直在用香草

但最近看到人们在做

Abseil 提供flags.FLAGS,但我一直在使用ArgumentParser,它工作得非常好,所以 Abseil 在这方面没有胜利。

那么,为什么还要走 Abseil 路线呢?

PS:关于 Reddit 的相关讨论(并没有真正回答这个问题):https ://www.reddit.com/r/Python/comments/euhl81/is_using_googles_abseil_library_worth_the/

0 投票
0 回答
330 浏览

c++ - 将 absl::flat_hash_set 与 folly::small_vector 一起使用

我正在尝试创建一个absl::flat_hash_setof folly::small_vector。添加对 absl::Hash 的自定义类型的支持的文档说:

类型的AbslHashValue重载只能在与所述类型相同的文件和命名空间中声明。给定类型的正确AbslHashValue实现将通过 ADL 发现。

不幸的是,我不能这样做,因为我不控制库的源代码或安装。

所以我试过这个:

但是我得到了大量的模板错误,这些错误似乎表明我的类型不能被散列:

我能做些什么来让folly::small_vectorAbseil 可以散列吗?

0 投票
1 回答
491 浏览

c++ - 在 C++ 中实现跨度的异构查找

异构查找意味着我们可以std::string使用另一种有意义的兼容类型(例如absl::string_view. 例如,以下代码有效(出于某些兼容性原因,我在代码中使用Abseil库而不是 C++20):

这是有道理的(确实如此),因为我们需要处理哈希表的能力是计算哈希函数的能力,以及比较相等性的能力。因此使用这种方法读取哈希表应该很简单,写入表也很有意义,因为哈希表可以创建一个新std::string的保存字符串视图的内容。

Astd::vector<T>也有一个轻量级的字符串视图类似物,即absl::Span<T>类型。但是,相应的查找不起作用:

编译器在最后一行抱怨没有匹配operator[].

问题:我如何实现这种异构查找,以便它以与字符串和字符串视图相同的方式适用于向量和跨度?

我可以看到absl::Hash<std::vector<int>>absl::Hash<absl::Span<int>>产生相同的结果,因此不应该有太多的障碍来完成这项工作。

0 投票
1 回答
701 浏览

c++ - Abseil 随机问题

我正在尝试通过 Cmake 使用来自 ABSEIL random的一些功能。(如absl::Uniform())我在这个指令中所做的一切。所有的工作。然后我想要更多并开始测试absl::Uniform()跳绳随机

我的 hello_word.cc 就像

和 CmakeLists.txt 是:

建筑学

然后 cmake 给出: 错误

和问题:如何使它工作?先感谢您。

0 投票
1 回答
84 浏览

c++ - C++ Google 测试在 Ubuntu 上中止在 Notification 对象上多次调用 Notify()

我使用谷歌测试和谷歌模拟。有一个模拟对象,我希望有一个方法调用OnConnectionError()通知 absl::Notification 对象done3 次。

该方法client->ConnectToServer有一个循环,导致重复调用OnConnectionError,这是完全正常的并且是所需的行为。

在 Windows 上,单元测试通过正常。当 jenkins 在 ubuntu 上运行它时,它会中止整个测试运行(不仅没有通过一个测试!!)并显示以下输出。

不允许多次调用 Notification 对象吗?为什么在 Windows 上测试成功并在 ubuntu 上中止?

非常感谢您的支持!

0 投票
1 回答
252 浏览

firebase - 'Chrono' 文件未找到问题 - iOS

我几乎没有将 Firebase 库集成到我正在进行的 iOS 项目中,最近出现“找不到时间文件”错误,如下所示:

在此处输入图像描述

在过去的两天里,我一直坚持这一点。我像往常一样经历了几个论坛和SO(像thisthis)。但是没有任何帮助,而且真的无法在任何地方找到一个可接受的解决方案。另一个奇怪的事情是 Xcode 自动代码完成和控制台日志在此之后不起作用。我的 pod 文件如下所示:

现在我正在使用 Xcode 12.0.1 和 Swift 5。我真的很坚持这个,希望有人能提供帮助。

0 投票
1 回答
200 浏览

ios - libopus和abseil之间的Cocoapods头冲突

我有一个带有以下 Podfile 的 Xcode 项目:

问题在于,由于 GRPC 决定使用 Abseil 作为依赖项,因此发生了奇怪的冲突。编译时,我在 Pods/abseil/base/config.h 上收到以下错误:

'absl/base/options.h' file not found

但堆栈中的先前调用实际上位于 Pods/libopus/float/warped_autocorrelation_FLP.c :

#include "config.h"

这没有意义,因为特定的config.hlibopus 试图获取实际上是在同一个 pod 目录中。

知道如何解决这个问题吗?我尝试了多个版本的 libopus,但静态版本本身就引起了问题。

0 投票
1 回答
40 浏览

c++ - 在 abseil::node_hash_map 中选择一个随机(ish)元素?

是否可以有效地选择 中的某种随机元素abseil::node_hash_map,或者更普遍地选择任何abseil地图?

例如,我很高兴随机选择一个插槽,然后找到下一个占用的插槽并从散列到该插槽的元素中选择一个随机元素,但不清楚这是否可能没有访问地图内部。

std::next(map, n)where nis an integer 之间随机选择的东西[0, map.size())会起作用,但复杂性非常慢O(map.size())

0 投票
1 回答
156 浏览

c++ - Abseil StrCat 示例导致 std::bad_alloc

我尝试使用 abseil 的字符串库,但是这个简单的示例已经没有运行并且失败了terminate called after throwing an instance of 'std::bad_alloc'

我使用的片段

我将 Abseil 20200923.2 与 conan/cmake 一起使用。我尝试了 gcc 10.1 和 clang 11,结果相同。我怎样才能让这段代码运行?