我在項目中使用libconfig,並且認爲使用我的嵌套CMakeLists.txt腳本編譯其餘代碼非常方便。下面是其中libconfig源文件所在的目錄內容:libconfig:使用CMake進行編譯時出錯
[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(優勝美地)機器上:
/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);
有沒有人有什麼,這可能是由於一個想法?
1.不要忽略警告。另外,你可以使用'FILE(GLOB config_source_files $ {CMAKE_CURRENT_SOURCE_DIR}/*。c)'。 'libconfig.c'中包含'locale.h'? –