我正在项目中使用libconfig,并且考虑使用我的嵌套CMakeLists.txt脚本将其与其他代码一起编译。以下是libconfig源文件所在目录的内容:
[config] -> ls
CMakeLists.txt libconfig.c libconfig.h++ scanctx.h strbuf.c
grammar.c libconfigcpp.c++ libconfig.hh scanner.c strbuf.h
grammar.h libconfigcpp.cc parsectx.h scanner.h wincompat.h
grammar.y libconfig.h scanctx.c scanner.l
以下是CMakeLists.txt的内容:
set(config_source_files
grammar.c
libconfig.c
libconfigcpp.c++
scanctx.c
scanner.c
strbuf.c
)
add_library(config ${config_source_files})
在我的Linux (Fedora 20)机器上编译时,我会得到一些警告。在我的OSX (Yosemite)机器上编译时,我会得到一个错误:
/Users/m4urice/myproject/src/utilities/config/libconfig.c:90:3: error:
use of undeclared identifier 'locale_t'
locale_t loc = newlocale(LC_NUMERIC_MASK, "C", NULL);
有人知道这可能是由于什么原因吗?
FILE(GLOB config_source_files $ {CMAKE_CURRENT_SOURCE_DIR} / * .c)
。locale.h
是否包含在libconfig.c
中?