首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用VS2010在"Release“配置中编译libjson时出现问题

使用VS2010在"Release“配置中编译libjson时出现问题
EN

Stack Overflow用户
提问于 2011-07-21 20:56:27
回答 4查看 3.2K关注 0票数 4

我下载了libjson包并将其添加到我的VS2010项目文件夹中。我创建了一个名为checkJson的新项目,并添加了以下代码:

代码语言:javascript
复制
#include "../../libjson/libjson.h"
int main(){ return 0;}

当我编译时,我得到一个错误:“发布libjson的版本,但NDEBUG没有打开”

因为这是我第一次使用Visual Studio,所以我想我在这里犯了一个非常基本的错误。你能帮帮我吗?

此外,如果这个包有问题,或者如果您知道一些其他的json解析包,我可以使用它们而不会出现很多配置问题,我不介意使用它们而不是这个包。

EN

回答 4

Stack Overflow用户

发布于 2011-07-21 20:59:07

对于初学者,尝试在"Release“配置中编译您的项目。

如果它可以工作(我相信它应该能工作),您可以尝试定义NDEBUG变量,即使在调试配置中也是如此。但它可能会产生意想不到的结果!

票数 1
EN

Stack Overflow用户

发布于 2011-07-22 03:23:45

Visual Studio会在创建项目时将NDEBUG指令添加到项目的预处理器设置中。在这条线上的某个地方,它可能被删除或更改了。进入项目属性并选择适当的配置(在本例中为"Release")。然后进入Configuration Properties -> C/C++ -> Preprocessor。在顶部,您将看到Preprocessor Directives。在此属性中,确保NDEBUG存在。如果不是,则添加它。请注意,此属性将包含多个预处理器定义,每个定义由分号分隔。例如,在32位Windows控制台应用程序中,您将看到如下内容-

WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)

不要将#define NDEBUG添加到项目中的任何头文件或源文件中,除非您完全知道自己在做什么。如果您没有使用适当的#ifdef/#endif指令对其进行包装,这可能会导致非发行版构建出现问题。

票数 1
EN

Stack Overflow用户

发布于 2011-09-12 14:35:12

JSON_DEBUG添加到预处理器设置可以节省您的时间。但是我遇到了另一个错误消息:

代码语言:javascript
复制
error C2059: syntax error : ''  

代码语言:javascript
复制
//#define JSON_DEPRECATED_FUNCTIONS 
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6776373

复制
相关文章

相似问题

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