编译libjson_7.6.1可能会遇到如下的问题: makefile:180: Extraneous text after `else' directive makefile:183: *** only one `else' per conditional. Stop. 打开makefile,定位到180行,内容如下: 178 ifeq ($(BUILD_TYPE), small) 179 CXXFLAGS = $(cxxflags_small) 180 else ifeq ($(BUILD_TYPE), debug) 181 CXXFLAGS = $(cxxflags_debug) 182 libname := $(libname_debug) 183 else 184 CXXFLAGS ?= $(cxxflags_default) 185 endif 在这180行有语法错误,“else ifeq”是不对的,改而且185后面还应当有个“endif”,统一改成如下即可成功编译: 178 ifeq ($(BUILD_TYPE), small) 179 CXXFLAGS = $(cxxflags_small) 180 else 181 ifeq ($(BUILD_TYPE), debug) 182 CXXFLAGS = $(cxxflags_debug) 183 libname := $(libname_debug) 184 else 185 CXXFLAGS ?= $(cxxflags_default) 186 endif 187 endif 注意“ifeq”和“endif”前为tab而不是空格,可能只有7.6.1版本存在些低级错误,libjson_7.6.1的下载地址为: http://ncu.dl.sourceforge.net/project/libjson/libjson_7.6.1.zip 更多版本的下载地址可以上:http://sourceforge.net/projects/libjson/files/查看。