问题:
使用libconfig 编译没有问题,运行时候出现 : “(null):0 - file i/o error ”
原因:
没有找到配置文件,
- 配置文件名字没有写对,
- 配置文件路径没有写对,(可以是绝对路径,也可以是相对路径,建议相对路径)
注意:
这里说到上述第2点,配置文件路径不对,如果是相对路径,
一定要注意:!!!(编译时路径和运行时路径)
解释:
- 编译时路径:(举例:#include"../abc/xxx.h") 这种路径是相对于#include"../../xxx.h" 这句话所在.c或者.h文件,"xxx.h"文件所在路径。
- 运行时路径:(举例:#define abc "../xyz/xxx.cfg") 这里定义了一个宏abc, 替换一个路径"../xyz/xxx.cfg"。这种路径不一定是相对于 "#define abc "../xyz/xxx.cfg"这句话所在.c或者.h文件,xxx.cfg文件所在路径;而是相对于主程序(main函数)所在.c文件,xxx.cfg文件所在路径。