问题标签 [libconfig]

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 投票
2 回答
3073 浏览

c++ - C++ STD Vector push_back 似乎不起作用

我正在使用 SDL 制作一个游戏,该游戏使用 libconfig 从文件中读取一些设置。问题是我创建了一个ClipList包含 astd::vector<SDL_Rect>来存储设置的类,但是当尝试将SDL_Rect对象添加到向量时,由于某种原因 push_back 什么也没做,我最终得到一个空向量。

这是课程:

这是我初始化 ClipList 对象的函数。这个函数是从 main 调用的。

无论对象是否在或中ClipList初始化,都不起作用。向量的容量发生了变化,但没有对象被存储,所以如果我尝试对向量执行任何其他操作,即使检查向量是否为空,我最终也会出现段错误。mainset_clipsclips.push_back(rect)

0 投票
1 回答
373 浏览

c - 旧的 libconfig 版本支持 config_setting_get_string

我有一个 C 语言程序,它在 debian 盒子中完美运行。我被要求在 CentOs 6.5 上编译和运行它。除了我尝试从配置文件中获取值的部分之外,一切都可以完美编译。代码是这样写的:

配置文件包含以下内容:

当程序到达 config_setting_get_string 时,它会崩溃。我试图在 strcpy 命令中设置字符串并且它可以工作。我在 /var/log/messages 上看到了这个:

我已经看到,虽然最初的 Debian 机器有 libconfig 1.4.9,但 CentO 的最新版本是 1.3.2。我不确定该版本是否支持该命令,因为我无法找到旧版本的文档。

我也尝试在 Centos Box 上编译最新版本,但我在过程中遇到错误,所以我认为它不受支持。

知道什么可以解决吗?

0 投票
2 回答
2905 浏览

c - 使用 libconfig 在 C 中读取配置文件

我在我的配置文件中为选项定义了一个结构,并在“config.h”文件中定义了一个指向该结构的指针,我使用 libconfig 读取配置文件并在文件“config.c”中定义的函数 get_config() 中设置值。在主函数中,我初始化指向结构的指针并调用 get_config() 函数。libconfig 运行良好,可以正确打印结构字段的值,但是当我在主函数中打印相同的字段时,它们的值不正确!

“配置.h”

“配置.c”

“商店.c”

0 投票
1 回答
614 浏览

c - 将“libconfig”构建为 32 位库

我正在尝试将 libconfig ( http://www.hyperrealm.com/libconfig/ ) 用于我正在尝试编写的一个小实用程序。我正在尝试构建 libconfig,然后将库文件 (libconfig.a) 复制到我的实用程序目录中。当我构建我的实用程序时,我收到有关架构不兼容的警告。这是我收到的具体警告信息之一。

/usr/bin/ld: warning: i386:x86-64 architecture of input file 'libconfig.a(libconfig_la-libconfig.o)' is incompatible with i386 output

我正在 Red Hat Enterprise Linux Server 5.10 版机器(uname -m生产'x86_64')上构建。我尝试使用以下内容构建 libconfig:

configure --disable-cxx CFLAGS='-m32' LDFLAGS='-m32'

但不幸的是,这似乎没有产生正确的库,因为我仍然看到相同的警告。在构建过程中创建了其他实用程序,并且所有实用程序共享 make common make 指令,这些指令指定CFLAGS = -m32 -Wextra -Wall -Werror -Osand LDFLAGS = -m32,因此我无法更改此行为。

我也试过configure --disable-cxx CFLAGS='-arch i386' LDFLAGS='-arch i386了,但是这个命令行不会构建库。

有谁知道如何将 libconfig 构建为正确使用的 32 位库。

谢谢,
马克

0 投票
1 回答
516 浏览

c - Problems with string and charset using libconfig.h

I'm using libconfig.h to read parameters from a configuration file, but I've problems printing values inside/outside a function.

example.h

example.c

The value of myInt printed inside/outside get_config() is the same. For myString, the call in main() return spurious chars, different from what printed before.

What's wrong?

0 投票
1 回答
4328 浏览

c++ - 如何使用 libconfig 写入配置文件?

我一直在使用 libconfig++ 库来读取配置文件,并且效果很好。此外,还有足够多的关于 API 的信息,这些信息有助于使用 c++ 从结构化配置文件中进行读取操作。但是,我在文档中找不到任何可以帮助我了解如何写回配置文件的内容。当然,很少有函数可以帮助我们使用 C 来完成它,但对于 C++ 却没有。有没有人有任何想法或者可以指出我一些文档。无论如何,这是 libconfig http://www.hyperrealm.com/libconfig/libconfig_manual.html的文档

0 投票
2 回答
265 浏览

c - 全局结构内存错误

我的程序正在使用全局结构读取配置文件libconfig并将值保存到全局结构中。它工作正常,但 valgrind 说有错误。并且该错误仅显示 char 指针变量。那是什么错误以及如何解决?谢谢

==8238== 大小为 1 的读取无效

==8238== 在 0x50AFBC9:_IO_file_xsputn@@GLIBC_2.2.5 (fileops.c:1317)

==8238== 由 0x5083972: vfprintf (vfprintf.c:1629)

==8238== 由 0x508C269: printf (printf.c:35)

==8238== by 0x400993: main (test.c:16)

……

==8238== 地址 0x53cdb0c 是一个大小为 15 的块内的 12 个字节 free'd

==8238== 错误摘要:来自 5 个上下文的 43 个错误(抑制:4 个来自 4 个)

0 投票
1 回答
1052 浏览

c++ - libconfig 读取列表 C

我正在尝试使用 C 中的 libconfig 库阅读此配置示例,但没有看到任何读取列表并将其存储的示例...

我知道是否有办法加载像sounds_list 这样的列表。并且不要创建像我现在这样的结构:

0 投票
0 回答
446 浏览

c - 如何在 Windows 上为 Eclipse -C 安装 Libconfig?

有人可以告诉我在 Windows 系统中运行 C 的 Eclipse 上安装LibConfig库的步骤。

0 投票
1 回答
1640 浏览

c++ - libconfig 1.4.9 为 Windows 编译

我这里有点麻烦。我知道如何使用file andlibconfig为 linux编译,但我不知道如何为 windows 做同样的事情。INSTALL 文件没有说明在 windows 上编译它或从 linux 交叉编译到 windows。官方网站 ( http://www.hyperrealm.com/libconfig/ ) 说我可以使用 Visual Studio 2008 (hell no) 或 gcc 来做到这一点。但我不知道怎么做。有人能帮我吗?./configuremake