Meshlab中添加external支持库

在写程序时,经常会用到第三方的开源库,来提高工作效率和减少工作量。下面介绍下如何在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

 

阅读更多

更多精彩内容