问题原因:json库源:jsoncpp-src-0.5.0 ,采用scons进行编译时,SConstruct会出现一些问题,原因可能是SConstruct采用的是python2的语法,而ubuntu自带python3可能与之存在冲突,相关问题的解决方法如下:
问题1:
print "Using platform '%s'" %platform
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print(...)?
解决方法:print 后添加括号。
问题2:
scons: Reading SConscript files ...
ModuleNotFoundError: No module named 'commands':
File "/home/unik/Downloads/jsoncpp-src-0.5.0/SConstruct", line 28:
import commands
解决方法,commands修改位subprocess。
问题3:
NameError: name 'apply' is not defined:
File "/home/unik/Downloads/jsoncpp-src-0.5.0/SConstruct", line 226:
srcdist_cmd = env['SRCDIST_ADD']( source = """
File "/home/unik/Downloads/jsoncpp-src-0.5.0/SConstruct", line 142:
apply( self.env.SrcDist, (self.env['SRCDIST_TARGET'],) + args, kw )
解决方法:不采用apply函数,修改位self.res=self.env.SrcDist();