首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用cmake在项目属性(eclipse)中添加一个定义

用cmake在项目属性(eclipse)中添加一个定义
EN

Stack Overflow用户
提问于 2015-09-15 20:50:09
回答 1查看 690关注 0票数 0

我使用的是rapidjson,我想使用std::string。然后我必须定义这个-DRAPIDJSON_HAS_STDSTRING。

我的CMakeLists.txt现在有:

代码语言:javascript
复制
add_definitions(-DRAPIDJSON_HAS_STDSTRING)

而且它建造得很好。

问题在于,在Eclipse中,我希望索引器能够识别该定义。然后,它将不会将某些函数标记为错误。

我怎样才能用CMakeLists.txt做这件事?我没运气就试过了:

代码语言:javascript
复制
set(CMAKE_CXX_COMPILER_ARG1 "-std=c++11 -DRAPIDJSON_HAS_STDSTRING=1" CACHE STRING "Compiler Args" FORCE)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-24 03:21:24

因为RapidJSON只是一个标头库,所以您可以在包含rapidjson头之前定义所需的宏。

如果项目中没有此类全局配置头,则可以创建类似于myrapidjson.h的本地标头。

代码语言:javascript
复制
#pragma once
#define RAPIDJSON_HAS_STDSTRING 1
#include "rapidjson/rapidjson.h"
// other headers if you always need them

然后,当您的头/实现文件需要rapidjson时,只需先包含这个头。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32595358

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档