原文:http://blog.csdn.net/sophistcxf/article/details/9096303
一、OSG Core是不提供多数诸如文件读写功能的,如何强行使用,则会提示:
这是因为没有加入相应的插件。
插件的源码位于3rd party中http://openscenegraph.alphapixel.com/osg/downloads/openscenegraph-third-party-library-downloads ,在CMake的时候可以设置
编译时我犯了一个很蠢的错误,我下的3rd party包含两个版本:X64和X86。而我将目录设成了3rd party,怎么都编译不出freetype。
二、使用
使用插件时,不仅要加入所需要的库,并且要使用宏:
USE_OSGPLUGIN(param)
param是相应的插件名字!(我没注意这个,文字显示总不成功)
比如:
- USE_OSGPLUGIN(bmp)
- USE_OSGPLUGIN(3ds)
- USE_OSGPLUGIN(osg)
- USE_OSGPLUGIN(png)
- USE_OSGPLUGIN(freetype)
- USE_OSGPLUGIN(dds)
- #ifdef DEBUG
- #pragma comment( lib,"osgdb_bmpd.lib" )
- #pragma comment( lib,"osgdb_3dsd.lib" )
- #pragma comment( lib,"osgdb_osgd.lib" )
- #pragma comment( lib,"osgdb_pngd.lib" )
- #pragma comment( lib,"osgdb_freetyped.lib" )
- #pragma comment( lib,"osgdb_ddsd.lib" )
- #pragma comment(lib, "freetype2311MTd.lib")
- #pragma comment(lib, "libpngd.lib")
- #pragma comment(lib, "zlibD.lib")
- #else
- #pragma comment( lib,"osgdb_bmp.lib" )
- #pragma comment( lib,"osgdb_3ds.lib" )
- #pragma comment( lib,"osgdb_osg.lib" )
- #pragma comment( lib,"osgdb_png.lib" )
- #pragma comment( lib,"osgdb_freetype.lib" )
- #pragma comment( lib,"osgdb_dds.lib" )
- #pragma comment(lib, "freetype2311MT.lib")
- #pragma comment(lib, "libpng.lib")
- #pragma comment(lib, "zlib.lib")
- #endif