查看: 5623|回复: 16

OSG在VS2005下运行问题?

[复制链接]

该用户从未签到

发表于 2008-4-28 14:44:11 | 显示全部楼层 |阅读模式
今天在VS2005下调时了一个很简单的demo,但却出了一大堆错误:
1>D:\Microsoft Visual Studio .NET 2005\VC\PlatformSDK\include\GL/gl.h(1152) : error C2182: 'APIENTRY' : illegal use of type 'void'
1>D:\Microsoft Visual Studio .NET 2005\VC\PlatformSDK\include\GL/gl.h(1152) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>D:\Microsoft Visual Studio .NET 2005\VC\PlatformSDK\include\GL/gl.h(1153) : error C2144: syntax error : 'void' should be preceded by ';'
....
全是gl.h文件,不知原因是啥?以及如何解决?

该用户从未签到

发表于 2008-4-28 22:30:50 | 显示全部楼层
原帖由 thb8177 于 2008-4-28 14:44 发表
今天在VS2005下调时了一个很简单的demo,但却出了一大堆错误:
1>D:\Microsoft Visual Studio .NET 2005\VC\PlatformSDK\include\GL/gl.h(1152) : error C2182: 'APIENTRY' : illegal use of type 'void'
1>D:\Mic ...


在#include <gl.h>之前加上:
#include <windows.h>

该用户从未签到

发表于 2008-4-29 00:16:58 | 显示全部楼层
嗯,windows系统中的OpenGL使用了很多windows的宏
加上#include<windows.h>

该用户从未签到

 楼主| 发表于 2008-4-29 09:28:38 | 显示全部楼层
#include <windows.h>
#include <gl.h>
这两个头文件都要加到程序文件中么?
其次,在VS2003中文什么不用加么?

该用户从未签到

发表于 2008-4-29 12:17:44 | 显示全部楼层
原帖由 thb8177 于 2008-4-29 09:28 发表
#include
#include
这两个头文件都要加到程序文件中么?
其次,在VS2003中文什么不用加么?


如果是在Windows下编程,而且不是使用MFC的话,那么应该要这样。还有注意把这两行放在其他头文件引用之前,以免产生定义冲突
至于为什么VS2003下没问题~~这个要问Microsoft~~VS被诟病也不是一天两天的事了

该用户从未签到

 楼主| 发表于 2008-4-30 09:41:21 | 显示全部楼层
我已经按照array的方法作了,有一个问题,提示:错误        1        fatal error C1083: Cannot open include file: 'gl.h': No such file or directory
我想应该是环境问题,除了在程序要加入#include <gl.h> 以外,还要在VS2005中设置一下么?

该用户从未签到

发表于 2008-4-30 09:51:08 | 显示全部楼层
#include <gl/gl.h>

GL文件夹通常都是COPY到VC下include 目录下的,那样就比较方便~~~~~

该用户从未签到

 楼主| 发表于 2008-4-30 10:34:14 | 显示全部楼层
现在可以执行了,但又有问题了:Could not find plugin to read objects from file
后面跟了一大堆乱麻,我读的是.osg文件,不知这是为何?

该用户从未签到

发表于 2008-4-30 12:29:13 | 显示全部楼层
插件编译好了吗?

该用户从未签到

发表于 2008-4-30 14:47:26 | 显示全部楼层
原帖由 thb8177 于 2008-4-30 10:34 发表
现在可以执行了,但又有问题了:Could not find plugin to read objects from file
后面跟了一大堆乱麻,我读的是.osg文件,不知这是为何?


您的文件名或者路径名里含有中文字符吗?

该用户从未签到

 楼主| 发表于 2008-4-30 16:01:58 | 显示全部楼层
在VS2005下好麻烦呀,我的文件名或者路径名里并没有含有中文字符。
而且,在写程序编译的时候还提示某某文件有不认识的字符,是不是在编译OSG
是那些遇到的警告的原因呀?

[ 本帖最后由 thb8177 于 2008-4-30 16:11 编辑 ]

该用户从未签到

发表于 2008-4-30 22:32:20 | 显示全部楼层
原帖由 thb8177 于 2008-4-30 16:01 发表
在VS2005下好麻烦呀,我的文件名或者路径名里并没有含有中文字符。
而且,在写程序编译的时候还提示某某文件有不认识的字符,是不是在编译OSG
是那些遇到的警告的原因呀?


不是编译OSG的原因。您的文件名是如何书写的?注意类似"c:\data\file.osg"的写法是错误的,因为\d和\f都会被识别为转义符,所以要写成"c:/data/file.osg"或者"c:\\data\\file.osg"

该用户从未签到

 楼主| 发表于 2008-5-1 12:19:05 | 显示全部楼层
我现在可以编译自己的Demo,但运行出了问题:

提示:This application has requested the Runtime to terminate it in an unusual way.
please connect the application's support team  for more intornat......

不知何故?

该用户从未签到

发表于 2008-5-1 14:22:02 | 显示全部楼层
原帖由 thb8177 于 2008-5-1 12:19 发表
我现在可以编译自己的Demo,但运行出了问题:

提示:This application has requested the Runtime to terminate it in an unusual way.
please connect the application's support team  for more intornat.... ...


这个就不好说了,似乎是程序兼容性的问题?
我在网上查了一篇文章,不知道有没有帮助:
http://support.microsoft.com/kb/884538/zh-cn

该用户从未签到

 楼主| 发表于 2008-5-1 20:07:03 | 显示全部楼层
再帮我看一下这个错误吧:
错误        1        error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: virtual __thiscall osgUtil::Optimizer::~Optimizer(void)" (__imp_??1Optimizer@osgUtil@@UAE@XZ),该符号在函数 _main 中被引用        MainApp.obj       
错误        2        error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: void __thiscall osgUtil::Optimizer:ptimize(class osg::Node *)" (__imp_?optimize@Optimizer@osgUtil@@QAEXPAVNode@osg@@@Z),该符号在函数 _main 中被引用        MainApp.obj       

错误        3        error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: __thiscall osgUtil::Optimizer::Optimizer(void)" (__imp_??0Optimizer@osgUtil@@QAE@XZ),该符号在函数 _main 中被引用        MainApp.obj

该用户从未签到

发表于 2008-5-1 20:46:21 | 显示全部楼层
原帖由 thb8177 于 2008-5-1 20:07 发表
再帮我看一下这个错误吧:
错误        1        error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: virtual __thiscall osgUtil::Optimizer::~Optimizer(void)" (__imp_??1Optimizer@osgUtil@@UAE@XZ),该符号在 ...


没有添加osgUtil.lib依赖库吧

该用户从未签到

 楼主| 发表于 2008-5-2 09:59:55 | 显示全部楼层
太感谢array了,我真是太粗心了,上一个错误也是,我编译的release版的,配环境时把MD弄成了MDD,再次表示对array以及帮助过我的朋友们感谢!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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