场景

编译最新版本的的jsoncpp,执行指令scons platform=linux-gcc,编译出错

scons: *** No SConstruct file found.
File "/usr/lib/scons/SCons/Script/Main.py", line 940, in _main


解决

        最新版本的jsoncpp已经不支持scons进行编译,采用CMake。scons依赖源码提供的README.txt SConstruct  version等文件,所以才会出现提示如上的错误


知识储备

1)安装scons

目前采用版本CentOS7.18不再支持scons rpm安装包,因此需要进行源码编译安装

wget http://prdownloads.sourceforge.net/scons/scons-2.2.0.tar.gz .

tar zxvf scons-2.2.0.tar.gz

cd scons-2.2.0

python setup.py install

2)构建hello world程序

编写main.cpp文件,同一级目录编写SContruct文件,scons构建时使用,文本如下:

Program('hello', ['main.cpp'])

执行构建指令

[root@localhost test]# scons
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
g++ -o main.o -c main.cpp
g++ -o hello main.o
scons: done building targets.

[root@localhost test]# ls
1  hello  main.cpp  main.o  SConstruct