从'int'无效转换为'GKeyFileFlags'

时间:2013-07-01 10:55:27

标签: c codeblocks glib

我有以下配置文件Config.cfg

[DD]
user=**
password=***
database=****
IPServidor=****
port=3306

[Machine]
Machine1=8
Temp=5=1001
Hum=7=1002
Link=8=1003
Volt=9=1004

this教程中使用GLib GKeyFile Parser我想读取Machine1的数量是8。

所以我将这部分复制粘贴在主

int main()
{
 GKeyFile *keyfile;
 GKeyFileFlags flags;
 GError *error = NULL;
 gsize length;

 /* Create a new GKeyFile object and a bitwise list of flags. */
 keyfile = g_key_file_new ();
 flags = G_KEY_FILE_KEEP_COMMENTS | G_KEY_FILE_KEEP_TRANSLATIONS;

 /* Load the GKeyFile from keyfile.conf or return. */
 if (!g_key_file_load_from_file (keyfile, "Config.conf", flags, &error))
 {
 g_error (error->message);
 return -1;
 }
}

但我有错误

invalid conversion from 'int' to 'GKeyFileFlags'

这里的错误在哪里?

1 个答案:

答案 0 :(得分:0)

所以问题是你显然是在尝试将C代码编译为C ++,而不是,所以编译器会抱怨。修改您的设置,以便C源文件由C编译器编译,C ++源文件由C ++编译器编译。