【发布时间】:2013-12-18 08:14:25
【问题描述】:
我正在尝试使用 scons 在 redhat 中构建 jsoncpp 库。 我按照说明进行操作,但没有得到任何结果。 我先安装scons,然后下载库源,解压后进入目录。
在库文件夹中,我尝试了几个选项: 1)
jsoncpp-src-0.5.0 > scons SConstruct platform=linux-gcc
scons: Reading SConscript files ...
Using platform 'linux-gcc-4.8.1'
LD_LIBRARY_PATH = /work/gcsadm/ext/ACE+TAO/lib/linux:/work/dguerra/tests/lib/linux:/work/dguerra/examples/lib/linux:/work/dguerra/lib/linux:/work/gcsadm/lib/linux:/usr/local/lib64:/usr/lib64:/work/gcsadm/ext/CorbaScript/lib:/usr/local/ostoreBase/ostore/lib:/work/gcsadm/ext/gsl/lib/linux:/work/gcsadm/ext/fitsio/lib/linux:/work/gcsadm/ext/sla/lib/linux:/work/gcsadm/ext/wcs/lib/linux:/work/gcsadm/ext/xpa/lib/linux:/work/gcsadm/ext/tcsPK/lib/linux:/work/gcsadm/ext/jsoncpp/lib/linux:/work/gcsadm/ext/mysql-connector/lib/linux:/usr/local/bin:libs/linux-gcc-4.8.1
Building using PLATFORM = linux-gcc-4.8.1
scons: done reading SConscript files.
scons: Building targets ...
scons: Nothing to be done for `SConstruct'.
scons: done building targets.
2)
jsoncpp-src-0.5.0 > scons platform=linux-gcc
scons: Reading SConscript files ...
Using platform 'linux-gcc-4.8.1'
LD_LIBRARY_PATH = /work/gcsadm/ext/ACE+TAO/lib/linux:/work/dguerra/tests/lib/linux:/work/dguerra/examples/lib/linux:/work/dguerra/lib/linux:/work/gcsadm/lib/linux:/usr/local/lib64:/usr/lib64:/work/gcsadm/ext/CorbaScript/lib:/usr/local/ostoreBase/ostore/lib:/work/gcsadm/ext/gsl/lib/linux:/work/gcsadm/ext/fitsio/lib/linux:/work/gcsadm/ext/sla/lib/linux:/work/gcsadm/ext/wcs/lib/linux:/work/gcsadm/ext/xpa/lib/linux:/work/gcsadm/ext/tcsPK/lib/linux:/work/gcsadm/ext/jsoncpp/lib/linux:/work/gcsadm/ext/mysql-connector/lib/linux:/usr/local/bin:libs/linux-gcc-4.8.1
Building using PLATFORM = linux-gcc-4.8.1
scons: done reading SConscript files.
scons: Building targets ...
g++ -o buildscons/linux-gcc-4.8.1/src/jsontestrunner/main.o -c - W a l l -Iinclude -I. src/jsontestrunner/main.cpp
g++: error: W: No such file or directory
g++: error: a: No such file or directory
g++: error: l: No such file or directory
g++: error: l: No such file or directory
scons: *** [buildscons/linux-gcc-4.8.1/src/jsontestrunner/main.o] Error 1
scons: building terminated because of errors.
任何帮助将不胜感激。
【问题讨论】:
-
您使用的是什么版本的 Python?问题很简单,但我不确定是什么原因造成的:正在使用编译器 arg '-W a l l',它应该是 '-Wall'(没有空格)我记得由于使用旧Python 版本。
-
我使用的是 Python 2.7.5
-
以防万一有人偶然发现同样的问题。您可能想尝试 CMake 构建而不是 scons(在 svn trunk 中)。 Travis-CI 上的持续集成正在使用它:travis-ci.org/blep/jsoncpp-mirror 在您的机器中安装 cmake 工具。从上述存储库中查看 jsoncpp 的最新版本。进入 jsoncpp 目录,创建 Makefile,写入: cmake 。之后,打开 CMakeCache.txt 进行编辑,并设置以下内容: //Build jsoncpp_lib as a shared library。 JSONCPP_LIB_BUILD_SHARED:BOOL=ON 最后构建库:make
标签: linux json redhat scons jsoncpp