是否有人jsoncpp正在研究vc90?
他们使用了我从未听说过的构建系统Scons。我安装了最新的Scons,找到了一个未记录的scons.bat,在我的jsoncpp目录中启动了一个vc90提示,修改了SConstruct文件以支持msvc90目标(我从已经支持的msvc80平台复制了样板)运行{{1}并得到错误:
scons.bat platform=msvc90
我已经投入了太多精力来构建它,jsoncpp显然没有维护,所以我现在放弃了。
答案 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
中的一行需要更改宏名称。