问题标签 [hdfql]
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.
r - 在 Rcpp 中编译时出现冲突的声明错误,但 g++ 工作正常
我正在尝试编译一个依赖于外部库HDFql的 Rcpp 包。
首先,我尝试按照参考手册中的说明编译一个普通的 .cpp 文件,效果很好:
其中./include/HDFql文件夹包含头文件并且./HDFql/libHDFql.a是静态库。
然后我尝试在 Rcpp 包中做同样的事情。我的包目录结构是
其中的内容Makevars是
我也添加#include <Rcpp.h>到example.cpp. 运行devtools::document()产量
../inst/include/HDFql/H5public.h:156:19:错误:冲突声明'typedef long long int ssize_t' typedef long long ssize_t;
我根本不明白。谁能解释这里发生了什么?
c++ - 命名空间存在但仍然出现声明冲突?
我正在使用HDFql C++ 包装库并尝试通过 Rcpp 将其与 R 集成。一般来说,我是一位经验丰富的编码员,但不是专门使用 C++ 的。我发表了另一篇关于尝试解决声明冲突问题的帖子。编译器错误消息复制如下:
基本上,HDFql 和 Rcpp 都有typedefs forlong long并且它们发生冲突。但是,HDFql 包装器在这里定义了它自己的命名空间,所以我不明白为什么我首先会遇到这种冲突(我认为这就是命名空间的用途!)。我希望 C++ 大师可以帮助我解决两个问题:
- 即使库使用命名空间,为什么会发生这种冲突?(编辑:@Igor 在评论中回答了这个问题)
- 假装我是 HDFql C++ 包装器的开发者(我不是)。我将如何更改包装库或命名空间结构,以使这些类型的冲突不会发生?(编辑:也许根据这个答案为 HDFql 编写第二个包装器?)
我很感激你有任何见解!
hdf - HDFql 处理表格
我对 HDFql 的可用性有一些疑问:
- HDFql 是否支持创建行类型不同的表?
- 如何将数据附加到表中?
- 你如何迭代行做表?
我要创建的表将包含 1 到 2^n 行的任何内容,并且无法事先确定。
python - 使用属性从 H5 文件中过滤 HDF 数据集
我有一个包含多个组和数据集的 h5 文件。每个数据集都有关联的属性。我想根据与之关联的相应属性查找/过滤此 h5 文件中的数据集。
例子:
我想找到具有weather属性/元数据的数据集cloudy
以pythonic方式完成这项工作的最简单方法是什么。
python - 有没有办法在 Python 中逐行编写 hdf5 文件?
对于 CSV 文件,我们可以使用
写Hdf5文件有类似的东西吗?
r - 在 R Linux 上使用 dyn.load 加载共享库时出现问题,但等效的 Windows 构建工作正常
我已经构建了一个用于与 R 中的 HDFql 交互的包。它依赖于 HDFql 2.1.0 提供的 R 包装器和 DLL/SO。这些包使用 DLL 在 Windows 中完美运行,但由于某种原因,HDFql 库 SO 无法在 Linux 环境中加载。我在Travis和本地 Docker Linux/R 容器上都试过这个。
函数中包含的相关代码hql_load()如下。假设 HDFql 被解压到当前目录“/hdfql-2.1.0”的一个文件夹中,这意味着
dllpath = c("/hdfql-2.1.0/lib/libHDFql.so", "/hdfql-2.1.0/wrapper/R/libHDFqlR.so")
我使用检查这些路径是否存在normalizePath(dllpath, mustWork = TRUE),并检查对象是否成功加载并出现在getLoadedDlls().
错误发生在对sys.sourceHDFql 提供的包装文件中的代码进行评估的调用中,特别是在初始化调用中。包装内容如下;请注意,在我上面的函数中,我dyn.load在评估它之前从包装器中删除了调用(预先加载了库)。
错误:无法执行 HDFql R 包装器。
附加信息:
eval 中的错误(解析(wrapper.file),envir = wrapper):找不到/加载 HDFql 共享库“libHDFql.so”!
我已经对此进行了数周的故障排除,但进展甚微。谁能告诉我为什么库在 Linux 系统中没有正确加载?
hdf5 - 如何读取 hdf5 (Hdfsl) 文件(一列读取)读取(大尺寸文件)
我正在使用带有 C# 的 HDF5DotNet,我只能读取完整数据作为数据集中的附加图像。hdf5文件太大了,将近1.4GB,如果我把整个数组加载到内存中就会内存不足。
我想从一列中读取所有数据
如何“m_Doc_01 ==> my_dataset_BS”数据??????

c++ - 在 CMake 中链接外部 HDFql 库
我已经下载了HDFql库并将全部内容放在我的 linux 系统中的 /usr/local/ 中。我现在希望在 ROS 应用程序中使用这个库,所以我尝试将它链接到我的 CMakeList 中,如下所示:
当我构建它时,它工作正常并输出消息:
在我的 main.cpp 文件中包含以下内容:
输出是:HDFql version: 2.1.0。
但是,一旦我尝试实际使用库的功能 - 例如:
我得到错误:
main.cpp:(.text+0x1858): undefined reference to `HDFql::execute(char const*)'
这向我表明,虽然 CMake 对包含没有问题,但它在链接实际库时遇到了问题(即包括 libHDFql.a/libHDFql.so 文件)。谁能告诉我我在这里做错了什么?
非常感谢!
c++ - HDFql 保存和加载图像
我正在尝试使用HDFql将图像从 OpenCV 保存到 HDF5 。这是我要实现的目标的一个最小示例(假设您在 有图像/tmp/lena.jpg):
这段代码基本上创建了一个新的 HDF5 文件,然后使用 OpenCV 打开一个图像并将该图像保存到 HDF5 文件中。然后它从 HDF5 文件中加载相同的图像并显示它。
如果你没有 OpenCV,你总是可以image.data用一个 uchar 数组替换,例如:uchar image_data[10] = {1,2,3,4,5,6,7,8,9,10};
长话短说,这不起作用,在检查 HDF5 文件时,它在保存步骤中已经失败。对我做错的任何帮助将不胜感激!
c++ - 读取 HDFql 中的属性值
我正在使用HDFql创建一个 HDF5 文件。我正在创建一个组并将一些数据放入其中,效果很好。然后我向文件添加一个属性(这似乎也有效,因为当我使用 HDF 编辑器检查 HDF5 文件时它会显示出来),但我不知道如何读取属性的值。这是一个最小的例子:
我希望控制台的输出是channels = 11,而不是我得到channels = 1953719668。奇怪的是,如果我cursorGetChar改为调用,返回值是“t”,如果我说
输出变为channels = test/data/channels.
所以我想我误解了 HDFql 游标的工作原理。所以我的问题是:我的代码有什么问题?为什么我的代码错了?
非常感谢!