jsoncpp在vc90上?

时间:2010-11-08 16:20:24

标签: c++ visual-studio-2008 scons vc90 jsoncpp

是否有人jsoncpp正在研究vc90?

他们使用了我从未听说过的构建系统Scons。我安装了最新的Scons,找到了一个未记录的scons.bat,在我的jsoncpp目录中启动了一个vc90提示,修改了SConstruct文件以支持msvc90目标(我从已经支持的msvc80平台复制了样板)运行{{1}并得到错误:

scons.bat platform=msvc90

我已经投入了太多精力来构建它,jsoncpp显然没有维护,所以我现在放弃了。

5 个答案:

答案 0 :(得分:4)

无需使用Scons。

/ makefiles / vc71 /下,您可以找到可以转换和构建的可视化工作室解决方案。

答案 1 :(得分:0)

修改msvc90平台文件以确保在调用cl时使用VC90包含目录(显然在您提供的命令行中不是这种情况)。

请注意,Scons是使用Python编写的,其配置文件也是如此,因此熟悉Python的人可能能够有效地帮助您,即使他们对scons一无所知。

答案 2 :(得分:0)

你确定你的VS命令行工作正常吗?我让它只是通过以下方式工作:   - 在allowed_values中添加msvc90条目   - 稍后复制/粘贴msvc80部分并修改它以使用env ['MSVS_VERSION'] = 9.0

我正在使用scons 1.3.0。

答案 3 :(得分:0)

jsoncpp 0.5.0的scons设置不支持VS 9.0或10.0开箱即用。您需要先将msvc90添加到SConstruct第21行中的allowed_values,然后在第103行添加此部分。

elif platform == 'msvc90':
    env['MSVS_VERSION']='9.0'
    for tool in ['msvc', 'msvs', 'mslink', 'masm', 'mslib']:
        env.Tool( tool )
    env['CXXFLAGS']='-GR -EHsc /nologo /MT'

只需将9.0替换为10.0,将90替换为100,以获得VS 10.0支持。

答案 4 :(得分:0)

从jsoncpp的0.6.0版开始,使用新的Amalgamated版本可以避免很多麻烦。这只是两个.h文件和一个直接编译到项目中的.cpp文件。到目前为止,它在VS 9中对我很有用(并且有一些mod我现在也能用C ++ Builder 2010编译它 - 还没有真正测试过结果)。

顺便说一下,我已经针对0.6.0-rc2版本提交了一个错误; Amalgamated版本json.h中的一行需要更改宏名称。