VS2015+OSG3.6.1应用问题

如果参考了网上的其他文章,会发现测试需要将bin、data加入到环境变量以方便测试,个人不喜欢什么都加环境变量的这种方式。而且稍后建立的工程会手动添加这些库。

然而,最终还是妥协把bin目录添加进系统环境变量Path里了,确实是为了方便,原因稍后会讲到。

 

1. 样例测试

当然在这之前,将之前编译好的bin、include、lib都拷贝到根目录,顺带把测试数据Data也拷贝过来,只是为了方便找而已。

于是我得到了目录

E:\OSG\bin、 E:\OSG\include、 E:\OSG\lib、 E:\OSG\Data.

然后执行测试,测试主要用到bin目录下的程序,双击运行会发现都是一闪而过。没关系,打开cmd运行。

根据测试内容,我们运行osgversion.exe

其他的测试略过,比如osglogo,过程同理。

比较重要的是测试Data,主要通过osgviewer,只运行osgviewer.exe,则会出现帮助信息,看过之后,发现后面应该跟着osg数据文件,则加上Data文件里的随便一个文件,如常用的cow.osg

当然,也可以用osgviewerMFC.exe这个可视化见面更简单,也是用于打开osg文件的,这和我们昨天大致查看代码所得到的结论是一致的。也可以看到样例。操作过程 菜单栏File-Open-XX 你懂得

 

2. VS工程测试

这里很简单了,OSG源码中关于 osgview和osgviewerMFC给出了样例,可以分别参考工程Applications osgviewer和Examples osgviewerMFC参考写代码。这里做最简单的程序。

新建一个控制台程序,在项目属性-C++目录里添加包含目录E:\OSG\include,在库目录里添加E:\OSG\lib,写程序如下

// OSGTest.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <osgViewer/Viewer>
#include <osgViewer/ViewerEventHandlers>
#include <osgDB/ReadFile>

#pragma comment (lib,"osg.lib")
#pragma comment (lib,"osgDBd.lib")
#pragma comment (lib,"osgGAd.lib")
#pragma comment (lib,"osgViewerd.lib")

int main()
{
	osgViewer::Viewer viewer;
	viewer.addEventHandler(new osgViewer::WindowSizeHandler);	//使之可以按F缩小
	osg::Node* nSceneData = osgDB::readNodeFile("E:\\OSG\\Data\\cow.osg");
	viewer.setSceneData(nSceneData);
	int iRet = viewer.run();
	return 0;
}

运行即可出现图像(添加环境变量后)。

这里为什么妥协将bin目录添加进环境变量了呢,因为如果不添加,运行会出现错误“缺少osg160-XX.dll”,可以把这些缺失文件拷贝到exe同目录一样可以运行,但是为了方便还是把bin目录添加进环境变量了,记得重启计算机。至于项目要求。。。到时候再说吧。

  • 这里有一个不同点在于没有设置链接器,而在代码中实现了链接。怎么写呢?一个小技巧在于看报错的导出函数类名是什么,如下图,就可以通过 #pragma comment (lib,"osg.lib") 解决。如果不幸不是这个,结合源码在lib文件中找到对应的文件。至于这种写法相比较于设置链接器的优势,参考 https://www.cnblogs.com/xietianjiao/p/6425631.html

3. 读取其他格式文件

osgDB::readNodeFile()函数提供了打开其他格式文件的方法,结合对osgDB的插件机制的了解,如果能找到相应的dll,则证明可以打开该格式,这里我的dll存在于 E:\OSG\bin\osgPlugins-3.7.0 目录下,根据dll可以大致知道可以打开什么格式文件,当然也可以自己开发相应格式的dll。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
使用VS2019编译OSG 3.7.0、OSGEarth 3.3和OSGQt需要按照以下步骤进行操作: 1. 首先,确保你已经安装了Visual Studio 2019。可以从官方网站上下载并按照指南进行安装。 2. 接下来,下载OSG 3.7.0的源代码。可以从OSG的官方网站上找到源代码的下载链接。 3. 在Visual Studio 2019中创建一个新的空白项目。选择合适的项目类型,例如Win32控制台应用程序。 4. 将下载的OSG 3.7.0源代码解压缩到项目文件夹中。在Visual Studio 2019中添加这些源代码文件到项目中。 5. 打开项目的属性窗口。在“配置属性”部分,选择“所有配置”和“所有平台”,然后选择“C/C++”项。 6. 添加OSG的头文件目录和库文件目录到“附加包含目录”和“附加库目录”中。 7. 编译项目,并确保没有错误或警告。 8. 下载OSGEarth 3.3的源代码。可以从OSGEarth的官方网站上找到源代码的下载链接。 9. 将下载的OSGEarth 3.3源代码解压缩到项目文件夹中。在Visual Studio 2019中添加这些源代码文件到项目中。 10. 打开项目的属性窗口。在“配置属性”部分,选择“所有配置”和“所有平台”,然后选择“C/C++”项。 11. 添加OSGEarth的头文件目录和库文件目录到“附加包含目录”和“附加库目录”中。 12. 编译项目,并确保没有错误或警告。 13. 最后,下载OSGQt的源代码。可以从OSGQt的官方网站上找到源代码的下载链接。 14. 将下载的OSGQt源代码解压缩到项目文件夹中。在Visual Studio 2019中添加这些源代码文件到项目中。 15. 打开项目的属性窗口。在“配置属性”部分,选择“所有配置”和“所有平台”,然后选择“C/C++”项。 16. 添加OSGQt的头文件目录和库文件目录到“附加包含目录”和“附加库目录”中。 17. 编译项目,并确保没有错误或警告。 以上是使用VS2019编译OSG 3.7.0、OSGEarth 3.3和OSGQt的大致步骤。请根据具体环境和需求进行相应的设置和调整。如果出现问题,可以参考相关的文档和论坛进行进一步的解决。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值