私はプロジェクト内で 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);
これが原因である可能性があることを知っている人はいますか?