查看: 13976|回复: 29

[工具]OSG新建工程向导(VC Custom Wizard)

[复制链接]

该用户从未签到

发表于 2008-2-20 11:42:03 | 显示全部楼层 |阅读模式
附件是一个方便大家使用Visual Studio进行OSG程序开发的工具。
它的作用是建立一个VC Custom Wizard(自定义项目向导),于其中自动设置好头文件目录,Lib文件目录,Lib依赖库,RunTime选项等内容,并自动生成一个main.cpp文件(包括OSGPL的注释行以及最简单的osgViewer场景代码)。这样可以为用户创建新的OSG工程提供很大的方便。

使用方法(VS 2003):
1、解压缩之后,将两个目录<vcprojects>和<VCWizards>拷贝到VisualStudio/VC的安装目录,例如:
D:\Microsoft Visual Studio .NET 2003\Vc7
2、选择覆盖原有的文件夹(事实上不会覆盖原有的内容,而是新增添了OSG的向导,可以放心);
3、打开VS 2003,选择新建项目,出现新建向导:在Visual C++项目类型中,可以看到新增加了OSG Wizard一项;
4、选择建立OSG Wizard项目,其可选设置与Win32控制台项目基本相同;
5、如果没有选择“建立空项目”,则新建的工程中会自动生成一个main.cpp文件(仅仅生成了场景,除此之外什么都不做),您可以直接修改它的内容,或者自己添加新的.cpp和.h文件;
6、在编译之前,请确认您是否在系统中设置了OSGHOME环境变量(这一步应当在安装OSG时完成),本向导会自动选择$(OSGHOME)作为OpenSceneGraph的头文件和库文件根目录,因此,工程的头文件路径被自动设置为$(OSGHOME)/include,库文件路径为$(OSGHOME)/lib;
7、本向导自动为您设置了最常用的依赖库:OpenThreads.lib,osg.lib,osgDB.lib,osgGA.lib,osgUtil.lib以及osgViewer.lib,在Debug版本中自动更改为OpenThreadsd.lib,osgd.lib等,您可以根据自己的需要进行调整;
8、本向导已经设置了/MD,/GR等选项,以免OSG在编译过程中出现警告和错误。

我是根据自己编程的通常设置来编写这个向导的,因此不一定符合大多数开发者的习惯。请大家多提出宝贵意见,我会不断修改和更新本贴。
VS2005的向导仍在制作中……

VS 7.1 Custom Wizard

VS 7.1 Custom Wizard

OSG_Wizard_2003.rar

51.53 KB, 下载次数: 432, 下载积分: 威望 1

VS 7.1 Custom Wizard

该用户从未签到

 楼主| 发表于 2008-2-20 23:46:09 | 显示全部楼层

OSG新建工程向导(VS2005 Custom Wizard)

附件是用于Visual Studio 2005 SP1的OSG新建工程向导,注意这个是全中文的。
向导的使用方法与VS2003并无太大不同:将两个文件夹分别覆盖VC8目录下同名的文件夹即可;然后我们将在VC Projects的分类下找到OSG Wizard工程向导。
使用时会自动设置头文件路径,库文件路径,以及最常用的OSG LIB库。方便我们建立OSG工程。

OSG_Wizard_2005.rar

46.68 KB, 下载次数: 689, 下载积分: 威望 1

Custom Wizard (VS8 SP1)

该用户从未签到

发表于 2008-2-21 00:18:54 | 显示全部楼层
不错,呵呵~~~~~

该用户从未签到

发表于 2008-2-21 11:21:10 | 显示全部楼层
VS2005的向导正需要,非常感谢!
  • TA的每日心情
    开心
    2019-11-11 10:36
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2008-2-21 11:30:50 | 显示全部楼层
    OSG也有向导了~~~~~

    该用户从未签到

    发表于 2008-2-21 11:34:03 | 显示全部楼层
    xuexi!

    该用户从未签到

    发表于 2008-2-21 11:34:42 | 显示全部楼层
    可以下了,谢谢!!!

    该用户从未签到

    发表于 2008-2-21 16:53:57 | 显示全部楼层
    支持,谢谢array大哥

    该用户从未签到

    发表于 2008-2-21 21:19:34 | 显示全部楼层
    辛苦版主了!
  • TA的每日心情

    1573439774
  • 签到天数: 2 天

    发表于 2008-2-21 21:26:29 | 显示全部楼层
    不错,支持~!

    该用户从未签到

    发表于 2008-2-26 10:43:45 | 显示全部楼层
    谢谢,vs2005正需要,方便多了

    该用户从未签到

    发表于 2008-2-27 22:15:33 | 显示全部楼层
    array大哥,在用这个wizad做向导,却发现编译直接会出现
    错误        1        error C2857: 在源文件中没有找到用 /Ycstdafx.h 命令行选项指定的“#include”语句        e:\program files\microsoft visual studio 8\vc\include\deque        244       
    而用自己的以前的或者flmn以前的简单入门程序复制换代码代码就没问题,我安装这个2005wizard应该没有问题,也在wizrad区域出现了osg工程图标,这是怎么回事啊

    该用户从未签到

     楼主| 发表于 2008-2-27 22:42:20 | 显示全部楼层
    原帖由 soulpower 于 2008-2-27 22:15 发表
    array大哥,在用这个wizad做向导,却发现编译直接会出现
    错误        1        error C2857: 在源文件中没有找到用 /Ycstdafx.h 命令行选项指定的“#include”语句        e:\program files\microsoft visual studio 8\vc\include\deque         ...


    哦……这应该是一个BUG了,启用工程设置的MFC标志后会产生这个问题,因为我并没有把stdafx.h给包含到工程中去。
    解决方法是自己写一个或者拷贝一个stdafx.h文件,里面写什么都无所谓,比如:
    #pragma once
    或者空的也可以

    然后在main.cpp文件的开头添加:
    #include "stdafx.h"

    呵呵,我不怎么用MFC,所以没有测试这一点,谢谢提醒。用MFC的朋友暂时这么解决吧~~或者谁帮着重新写个CustomWizard脚本吧,最近在忙乱七八糟的事~~

    该用户从未签到

    发表于 2008-3-3 16:53:18 | 显示全部楼层
    初学者,谢谢了,
  • TA的每日心情
    开心
    2021-6-6 13:38
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2008-3-6 11:07:25 | 显示全部楼层
    初学者,多谢楼主

    该用户从未签到

    发表于 2008-3-15 00:50:14 | 显示全部楼层
    系统报错:c:\documents and settings\administrator\my documents\visual studio 2005\projects\project2\project2\main.cpp(12) : fatal error C1083: 无法打开包括文件:“osg/ref_ptr”: No such file or directory

    我是安装了VS2005SP1+论坛置顶贴里的OSG。在CMD下,输入OSGVERSION,也正确返回了版本信息,所以应该是OSG应该是安装成功了的。
    请指点下。。

    该用户从未签到

     楼主| 发表于 2008-3-15 08:54:17 | 显示全部楼层
    原帖由 hadeskk 于 2008-3-15 00:50 发表
    系统报错:c:\documents and settings\administrator\my documents\visual studio 2005\projects\project2\project2\main.cpp(12) : fatal error C1083: 无法打开包括文件:“osg/ref_ptr”: No such file or directo ...


    OSG新建工程向导使用$(OSGHOME)环境变量作为OSG的安装路径。所以请您检查计算机设定的系统变量:我的电脑->属性->高级->环境变量,是否存在环境变量OSGHOME,是否为OSGHOME设置了路径,且这个路径下是否存在include,lib,bin和share文件夹。
    在控制台下运行osgversion成功,这只能说明您的PATH路径设置正确了。建议您再设置一些OSG常用的环境变量:OSGHOME,以及OSG_FILE_PATH(也就是模型文件读入的缺省路径)

    [ 本帖最后由 array 于 2008-3-15 08:56 编辑 ]

    该用户从未签到

    发表于 2008-3-16 12:28:47 | 显示全部楼层
    原帖由 array 于 2008-3-15 08:54 发表


    OSG新建工程向导使用$(OSGHOME)环境变量作为OSG的安装路径。所以请您检查计算机设定的系统变量:我的电脑->属性->高级->环境变量,是否存在环境变量OSGHOME,是否为OSGHOME设置了路径,且这个路径下是否存在incl ...


    谢谢,这个问题解决了。。stdafx.h的问题也解决了,新问题来了

    MSVCRTD.lib(crtexew.obj) : error LNK2019: 无法解析的外部符号 _WinMain@16,该符号在函数 ___tmainCRTStartup 中被引用
    C:\Documents and Settings\Administrator\My Documents\Visual Studio 2005\Projects\Project1\Debug/Project1.exe : fatal error LNK1120: 1 个无法解析的外部命令


    求解了。。==#  先谢谢了。

    该用户从未签到

     楼主| 发表于 2008-3-16 13:16:20 | 显示全部楼层
    原帖由 hadeskk 于 2008-3-16 12:28 发表


    谢谢,这个问题解决了。。stdafx.h的问题也解决了,新问题来了

    MSVCRTD.lib(crtexew.obj) : error LNK2019: 无法解析的外部符号 _WinMain@16,该符号在函数 ___tmainCRTStartup 中被引用
    C:\Documents and S ...


    您建立的是Win32工程而非控制台工程吧?呵呵,Win32工程的主函数是WinMain而非main,所以相应的文件和函数内容需要自己编写的(删除自动生成的main.cpp并自己编写新的cpp文件即可),目前那个main.cpp只适用于控制台工程。以后我会着手改进这个问题,让不同设置项对应的预生成源文件有所区别,最近有点忙,敬请谅解;或者哪位朋友可以帮忙改进一下这个OSG生成向导?十分欢迎和感谢~~

    该用户从未签到

    发表于 2008-3-17 11:28:26 | 显示全部楼层
    原帖由 array 于 2008-3-16 13:16 发表


    您建立的是Win32工程而非控制台工程吧?呵呵,Win32工程的主函数是WinMain而非main,所以相应的文件和函数内容需要自己编写的(删除自动生成的main.cpp并自己编写新的cpp文件即可),目前那个main.cpp只适用于控 ...

    哈。太感谢您了。解决了~

    该用户从未签到

    发表于 2008-3-31 11:58:28 | 显示全部楼层
    好东西

    该用户从未签到

    发表于 2008-4-17 09:00:02 | 显示全部楼层
    顶一个,谢谢。学习

    该用户从未签到

    发表于 2008-5-20 12:25:50 | 显示全部楼层
    error C2857: 在源文件中没有找到用 /Ycstdafx.h 命令行选项指定的“#include”语句        c:\program files\microsoft visual studio 8\vc\include\xlocnum        127
    我用的是VS2005中的C++,怎样编写stdafx.h?在哪里编写?急!

    该用户从未签到

    发表于 2008-7-25 19:46:24 | 显示全部楼层
    路径貌似不对吧。怎么找不到头文件

    该用户从未签到

     楼主| 发表于 2008-7-25 20:08:05 | 显示全部楼层
    原帖由 sky206 于 2008-7-25 19:46 发表
    路径貌似不对吧。怎么找不到头文件


    请自行设置一个环境变量OSGHOME,设置其内容为OSG的安装路径

    该用户从未签到

    发表于 2008-7-25 20:49:04 | 显示全部楼层
    路径对了,可还是不行, 1 个无法解析的外部命令。

    该用户从未签到

     楼主| 发表于 2008-7-25 20:58:27 | 显示全部楼层
    原帖由 sky206 于 2008-7-25 20:49 发表
    路径对了,可还是不行, 1 个无法解析的外部命令。


    这个向导程序并链接所有的OSG依赖库文件。
    请注意检查错误信息中是哪个函数没有解析成功,并添加与之相关的依赖库(例如,osgUtil::xxx函数没有解析成功,那么就自行添加osgUtil.lib库文件)

    该用户从未签到

    发表于 2008-11-13 23:10:43 | 显示全部楼层
    这个太好了,对于初学者来说

    该用户从未签到

    发表于 2008-11-30 12:02:25 | 显示全部楼层
    Automation 服务器不能创建对象  怎么回事?

    该用户从未签到

    发表于 2008-12-1 18:55:27 | 显示全部楼层
    不得不顶啊。谢谢哈
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    OSG中国官方论坛-有您OSG在中国才更好

    网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

    联系我们

    • 工作时间:09:00--18:00
    • 反馈邮箱:1315785073@qq.com
    快速回复 返回顶部 返回列表