diff --git a/ports/libconfig/CMakeLists.txt b/ports/libconfig/CMakeLists.txt index 61776d1aa..878e70533 100644 --- a/ports/libconfig/CMakeLists.txt +++ b/ports/libconfig/CMakeLists.txt @@ -4,6 +4,7 @@ project(libconfig C CXX) if(MSVC) add_compile_options(/W3 /wd4005 /wd4996 /wd4018 -D_CRT_SECURE_NO_WARNINGS) + add_definitions(-Dscandir=libconfig_scandir) endif() set(C_SOURCES @@ -28,7 +29,9 @@ include_directories(${DIRENT_H}) include_directories(${STDINT_H}) add_library(libconfig ${C_SOURCES}) -add_library(libconfig++ ${C_SOURCES} ${CPP_SOURCES}) +add_library(libconfig++ ${CPP_SOURCES}) + +target_link_libraries(libconfig++ libconfig) if(BUILD_SHARED_LIBS) target_compile_definitions(libconfig PRIVATE -DLIBCONFIG_EXPORTS -DYY_NO_UNISTD_H -DYY_USE_CONST) diff --git a/ports/libconfig/scandir.c b/ports/libconfig/scandir.c index 313730410..cab75716e 100644 --- a/ports/libconfig/scandir.c +++ b/ports/libconfig/scandir.c @@ -44,7 +44,7 @@ extern "C" { * A pointer to the array of directory entries is stored in the location * referenced by namelist. */ -int scandir(const char *dirname, struct dirent ***namelist, +int libconfig_scandir(const char *dirname, struct dirent ***namelist, int (*select)(struct dirent *), int (*compar)(struct dirent **, struct dirent **)) { char *d;