xpol/lua-rapidjson

Macosx接入XLua的时候报了编译错误

Colocasia opened this issue · 3 comments

image
看起来是这一块:
image

namespace details {
	rapidjson::Value toValue(lua_State* L, int idx, int depth, Allocator& allocator);
}

inline rapidjson::Value toValue(lua_State* L, int idx, Allocator& allocator) {
	return details::toValue(L, idx, 0, allocator);
}

我试了一下,0.5.0以前可以接入。之后版本会报以上编译错误。

xpol commented

应该是这段CMake配置没有设置:

if(${CMAKE_VERSION} VERSION_LESS "3.1.0")
    if(CMAKE_COMPILER_IS_GNUCXX)
        execute_process(COMMAND "${CMAKE_CXX_COMPILER} -dumpversion" OUTPUT_VARIABLE GCC_VERSION)
        if (GCC_VERSION VERSION_LESS 4.7)
            set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
        else()
            set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
        endif()
    endif()
else()
    target_compile_features(lua-rapidjson PRIVATE cxx_rvalue_references)
endif()

要么粗暴地开启 C++11 要么开启 cxx_rvalue_references 。

所以这段配置要写在那个文件的哪个位置