buf
BE something YOU love and understand
posts - 94, comments - 35, trackbacks - 0, articles - 2
::
首页
::
新随笔
::
联系
:: ::
管理
VS2005编译PagedGeometry 1.1.0
Posted on 2011-04-20 15:13
buf
阅读(842)
评论(0)
编辑
收藏
引用
所属分类:
Graphics
从
http://code.google.com/p/ogre-paged/downloads/list
下载源码包,解压后发现没有.sln和.vcproj,需要用cmake进行配置来生成这些文件。
按照机器上OGRE相关include和lib目录的实际位置,修改CMakeDependenciesConfig.txt文件中Ogre_INCLUDE_DIRS、Ogre_LIBRARY_DIRS等变量的定义,我的设置是这样:
IF
(WIN32)
set
(Ogre_INCLUDE_DIRS
"
E:/Ogre/project/OGRE_1.7.2/include/OGRE
"
CACHE PATH
"
The ogre include path to use
"
)
set
(Ogre_LIBRARY_DIRS
"
E:/Ogre/project/OGRE_1.7.2/lib
"
CACHE PATH
"
The ogre lib path to use
"
)
set
(Ogre_LIBRARIES
"
OgreMain
"
CACHE
STRING
"
The ogre lib to link against
"
)
set
(Ois_INCLUDE_DIRS
"
E:/Ogre/project/OGRE_1.7.2/include/ois
"
CACHE PATH
"
The OIS include path to use
"
)
set
(Ois_LIBRARY_DIRS
"
E:/Ogre/project/OGRE_1.7.2/lib
"
CACHE PATH
"
The OIS lib path to use
"
)
set
(Ois_LIBRARIES
"
ois
"
CACHE
STRING
"
The ogre lib to link against
"
)
# add includes
to
check directories
set
(CMAKE_REQUIRED_INCLUDES ${Ogre_INCLUDE_DIRS} ${Ois_INCLUDE_DIRS})
# check
for
libs
and
include files we want
to
use
CHECK_INCLUDE_FILE(windows.h HAVE_WINDOWS_INCLUDES)
if
(
NOT
HAVE_WINDOWS_INCLUDES)
message(FATAL_ERROR
"
could not find the windows platform includes. Please install them.
"
)
endif()
set
(BOOST_PATH
"
E:/Ogre/project/OGRE_1.7.2/boost_1_42
"
CACHE PATH
"
The BOOST root path to use
"
)
include_directories(${BOOST_PATH})
link_directories (${BOOST_PATH}
/
lib)
ELSEIF
(UNIX)
find_package(PkgConfig)
PKG_CHECK_MODULES (Ogre OGRE REQUIRED)
PKG_CHECK_MODULES (Ois OIS REQUIRED)
# add includes
to
check directories
set
(CMAKE_REQUIRED_INCLUDES ${Ogre_INCLUDE_DIRS} ${Ois_INCLUDE_DIRS})
# check
for
libs
and
include files we want
to
use
# check below
not
working!?
#CHECK_LIBRARY_EXISTS(libOgreMain.so loadPlugins
""
HAVE_OGRE_LIBS)
#
if
(
NOT
HAVE_OGRE_LIBS)
# message(FATAL_ERROR
"
could not link against Ogre, please check of you have the required libraries installed
"
)
#endif()
ENDIF(WIN32)
IF
(
NOT
WIN32)
# XXX TODO:
fix
the checks
for
windows!
# add this so the checks work
set
(CMAKE_REQUIRED_INCLUDES ${Ogre_INCLUDE_DIRS} ${Ois_INCLUDE_DIRS})
# cross platform checks
# check
for
libs
and
include files we want
to
use
CHECK_INCLUDE_FILE_CXX(OgrePrerequisites.h HAVE_OGRE_INCLUDES)
if
(
NOT
HAVE_OGRE_INCLUDES)
message(
"
could not find the Ogre includes. Please install them.
"
)
endif()
CHECK_INCLUDE_FILE_CXX(OIS
/
OIS.h HAVE_OIS_DIR_INCLUDES)
if
(HAVE_OIS_DIR_INCLUDES)
set
(OIS_INCLUDE
"
OIS/OIS.h
"
)
endif()
CHECK_INCLUDE_FILE_CXX(OIS.h HAVE_OIS_INCLUDES)
if
(HAVE_OIS_INCLUDES)
set
(OIS_INCLUDE
"
OIS.h
"
)
endif()
if
(
NOT
HAVE_OIS_DIR_INCLUDES
AND
NOT
HAVE_OIS_INCLUDES)
message(
"
could not find the OIS includes. Please install them.
"
)
endif()
if
(HAVE_OIS_DIR_INCLUDES
AND
NOT
HAVE_OIS_INCLUDES)
set
(OIS_USING_DIR
TRUE
)
else
()
set
(OIS_USING_DIR
FALSE
)
endif()
endif()
需要注意的是要把路径名中的'\'替换为'/',否则会被cmake作为转义符处理。
改完以后用VS2005打开.sln就可以编译了。一个小小的问题是Ogre_LIBRARIES和Ois_LIBRARIES没有按照Debug和Release分别定义,因此编译Debug版本的时候还需要改一下Example工程的link选项。
效果还不错,速度很快。
不过,我的机器(Windows XP SP3 / Ogre 1.7.2 / Galaxy GTS450)上启动不了Example9/10,会出现runtime error。估计可能是某些依赖库的版本问题,尚未解决。
只有注册用户
登录
后才能发表评论。
Powered by:
IT博客
Copyright © buf
留言簿
(16)
给我留言
查看公开留言
查看私人留言
随笔分类
(91)
CMMI(1)
Embedded (25)
Graphics(21)
Linux(10)
MFC(11)
Misc(23)
随笔档案
(94)
2013年1月 (1)
2012年12月 (1)
2012年6月 (1)
2012年5月 (4)
2012年4月 (4)
2012年3月 (3)
2012年2月 (2)
2012年1月 (2)
2011年11月 (1)
2011年10月 (1)
2011年8月 (4)
2011年7月 (3)
2011年5月 (4)
2011年4月 (3)
2011年3月 (5)
2010年11月 (3)
2010年7月 (1)
2010年6月 (1)
2010年5月 (1)
2010年3月 (2)
2010年2月 (1)
2009年9月 (1)
2009年8月 (2)
2009年5月 (2)
2009年4月 (1)
2009年3月 (1)
2009年1月 (4)
2008年12月 (3)
2008年11月 (6)
2008年10月 (1)
2008年8月 (1)
2008年6月 (3)
2008年4月 (4)
2008年1月 (9)
2007年12月 (5)
2007年11月 (3)
相册
buf
搜索
最新评论
1. re: S3C44B0+U-Boot调试RTL8019AS经验小结[未登录]
基址=0x06000300如何计算
--yang
2. re: 用libvlc进行网络串流streaming
请教,接收串流的url怎么写?
--tifire
3. re: 用libvlc进行网络串流streaming
@jack_incredible
不清楚,google vlc vod
--buf
4. re: 用libvlc进行网络串流streaming
RTSP串流后只能是直播视频,没法实现VOD点播吧?
--jack_incredible
5. re: 用libvlc进行网络串流streaming
评论内容较长,点击标题查看
--buf
阅读排行榜
1. 用libvlc进行网络串流streaming(21400)
2. 用python+scapy生成网络数据包 / packet forging / generation / crafting(17900)
3. NTPD NTP Server 网络时间服务器(8589)
4. 在MFC窗口中嵌入VLC ActiveX控件(8366)
5. [zz] CListCtrl使用详解(6782)