在寫程序時,經常會用到第三方的開源庫,來提高工作效率和減少工作量。下面介紹下如何在meshlab中如何添加external支持庫,即添加到external工程裏,以方便他用。
下面就以添加jsoncpp開源庫爲實例,做如下描述:
1. 下載jsoncpp,http://jsoncpp.sourceforge.net/, 這裏用jsoncpp-0.6.0-rc2
2. 在meshlab/src/external文件夾下創建jsoncpp-0.6.0-rc2目錄,然後將jsoncpp的所有工程文件拷貝到該目錄下。
3. 在上步創建的jsoncpp-0.6.0-rc2目錄下創建json_cpp.pro工程,然後將該工程添加上external.pro中的SUBDIRS項下,保存後結果如圖1所示:
圖1 將json_cpp.pro添加到external.pro
4. 然後在json_cpp.pro中做如下設置:
EXTERNAL_BASE_PATH = ../ #定義external工程的根目錄
include($$EXTERNAL_BASE_PATH/ext_common.pri) #包含external工程的通用配置,描述了不同平臺下生成的庫所保存的目錄
TEMPLATE = lib #標明是庫工程
TARGET = json #生成庫的名字,即libjson
CONFIG += staticlib #生成靜態庫
DEPENDPATH += . #依賴目錄
INCLUDEPATH += . #包含目錄
INCLUDEPATH += ./include #包含目錄
5. 最後將jsoncpp的所有頭文件和源文件添加到json_cpp.pro裏就行了,至於添加的方法,可以手動,也可以用添加現有項功能。構建external.pro工程,在external/lib下的相應的平臺目錄中會有libjson.a的。最後給個完整的json_cpp.pro文件內容:
EXTERNAL_BASE_PATH=../
include($$EXTERNAL_BASE_PATH/ext_common.pri)
TEMPLATE=lib
TARGET=json
CONFIG+=staticlib
DEPENDPATH+=.
INCLUDEPATH+=.
INCLUDEPATH+=./include
HEADERS+=\
include/json/writer.h\
include/json/value.h\
include/json/reader.h\
include/json/json.h\
include/json/forwards.h\
include/json/features.h\
include/json/config.h\
include/json/autolink.h\
src/lib_json/json_tool.h\
src/lib_json/json_batchallocator.h
OTHER_FILES+=\
src/lib_json/sconscript
SOURCES+=\
src/lib_json/json_writer.cpp\
src/lib_json/json_valueiterator.inl\
src/lib_json/json_value.cpp\
src/lib_json/json_reader.cpp\
src/lib_json/json_internalmap.inl\
src/lib_json/json_internalarray.inl
下次介紹,如何在meshlab插件中使用libjson。
輝輝
(FightingBull Studio)
歡迎轉載,但請註明出處:http://blog.csdn.net/fightingbull