我使用的是rapidjson,我想使用std::string。然后我必须定义这个-DRAPIDJSON_HAS_STDSTRING。
我的CMakeLists.txt现在有:
add_definitions(-DRAPIDJSON_HAS_STDSTRING)而且它建造得很好。
问题在于,在Eclipse中,我希望索引器能够识别该定义。然后,它将不会将某些函数标记为错误。
我怎样才能用CMakeLists.txt做这件事?我没运气就试过了:
set(CMAKE_CXX_COMPILER_ARG1 "-std=c++11 -DRAPIDJSON_HAS_STDSTRING=1" CACHE STRING "Compiler Args" FORCE)发布于 2015-09-24 03:21:24
因为RapidJSON只是一个标头库,所以您可以在包含rapidjson头之前定义所需的宏。
如果项目中没有此类全局配置头,则可以创建类似于myrapidjson.h的本地标头。
#pragma once
#define RAPIDJSON_HAS_STDSTRING 1
#include "rapidjson/rapidjson.h"
// other headers if you always need them然后,当您的头/实现文件需要rapidjson时,只需先包含这个头。
https://stackoverflow.com/questions/32595358
复制相似问题