查看: 12207|回复: 10

请教:关于 fatal error C1083: 无法打开包括文件的错误原因

[复制链接]

该用户从未签到

发表于 2009-2-1 09:13:29 | 显示全部楼层 |阅读模式
库安装位置是
D:\osLIB\OpenSceneGraph\2.6.1\

我的环境变量如下设置,设置的是用户环境变量
INCLUDE     C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\include\;%OSGHOME%\include
LIB         C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\Lib\;%OSGHOME%\lib
PATH        %OSGHOME%\bin; %OSGHOME%\bin\osgPlugins-%OSGVERSION%
OSGHOME     D:\osLIB\OpenSceneGraph\%OSGVERSION%
OSGVERSION  2.6.1

vs2008 "工具"->"选项"->"项目和解决方案"->"vc++目录"里面的设置如下
D:\osLIB\OpenSceneGraph\2.6.1\include
D:\osLIB\OpenSceneGraph\2.6.1\lib
D:\osLIB\OpenSceneGraph\2.6.1\bin
D:\osLIB\OpenSceneGraph\2.6.1

但是编译osgVR时会报如下错误
1>.\main.cpp(6) : fatal error C1083: 无法打开包括文件:“osgViewer/Viewer”: No such file or directory
其实不光是这个文件会报这个错,其他文件也会报找不到,比如
1>.\main.cpp(8) : fatal error C1083: 无法打开包括文件:“osg/Node”: No such file or directory
不知道我还有哪里配置没注意到?

该用户从未签到

 楼主| 发表于 2009-2-1 09:20:10 | 显示全部楼层
补充一下,我看到一个帖子说
设置编译时头文件路径
工具-->选项-->项目-->VC++ 目录-->显示以下内容的目录(S)-->包含文件-->在最后面创建一个新的目录-->最后行的地方双击,添上 D:\Program Files\OpenSceneGraph\include 一项,再建一项D:\Program Files\OpenSceneGraph\osgsrc\OpenSceneGraph\include

可是我没在D:\osLIB\OpenSceneGraph\2.6.1\下发现有osgsrc目录啊,难道是我编译安装有问题?
D:\osLIB\OpenSceneGraph\2.6.1\目录下有
bin    安装后自己有的
DATA    我拷贝进去的
include    安装后自己有的
lib    安装后自己有的
share    安装后自己有的

该用户从未签到

发表于 2009-2-1 09:55:26 | 显示全部楼层
VS工程要设置Project->Properties里面的C/C++选项卡,
General->Additional Include Directories中设置OSG的include目录
在Linker选项卡中,
General->Additional Library Directories中设置OSG的lib目录,而Input->Additional Dependencies中设置osg.lib等必要的依赖库文件。

这也是使用VS进行任何工程开发的必要步骤,与OSG的安装无关。我不清楚您说的那个帖子里面的意思,并且我个人并不认为直接设置Tools->Options里面的工程通用目录是一个好的习惯,除非您的所有开发工作都是基于OSG的;此外osgsrc应该是那个发帖的朋友自己新建的目录而已。您的OSG应该已经安装正确了,您可以参考一下VS开发有关的教程,或者参看一下我在教程区精华部分的“OSG-VC工程向导”中的设置。

[ 本帖最后由 array 于 2009-2-1 09:57 编辑 ]

该用户从未签到

发表于 2009-2-1 14:36:34 | 显示全部楼层
这个问题我遇到过,其实只是在OSG安装的目录下少了include/osgViewer这个文件夹和其下面的内容,从src下面复制一个出来贴进去就行了

该用户从未签到

发表于 2009-2-1 15:08:56 | 显示全部楼层
原帖由 zcpzzy 于 2009-2-1 14:36 发表
这个问题我遇到过,其实只是在OSG安装的目录下少了include/osgViewer这个文件夹和其下面的内容,从src下面复制一个出来贴进去就行了


我想不是这样的,OSG的安装不需要手动去复制安装什么,那样反而会打乱源代码树和安装目录树的结构。
也许您的方案不应该是正确的解决方案,只是碰巧把问题避开了而已。

该用户从未签到

 楼主| 发表于 2009-2-1 15:34:11 | 显示全部楼层
原帖由 zcpzzy 于 2009-2-1 14:36 发表
这个问题我遇到过,其实只是在OSG安装的目录下少了include/osgViewer这个文件夹和其下面的内容,从src下面复制一个出来贴进去就行了

我的include里面有那个文件
根据array说的做法,编译不报错了。
谢谢两位

该用户从未签到

发表于 2011-3-18 20:57:23 | 显示全部楼层
回复 3# array


    请问array,“在Linker选项卡中,General->”是什么意思啊?我现在也碰到这个问题,附加依赖项里的osgViewerd.lib osgGAd.lib osgd.lib osgDBd.lib  osgTextd.lib osgUtild.lib OpenThreadsd.lib都是链接错误LINK : fatal error LNK1104: 无法打开文件“osgViewerd.lib”。我是新手,不知道是哪里没有设置好,向你请教一下,谢谢!!

该用户从未签到

发表于 2011-3-21 08:41:39 | 显示全部楼层
首先您得指出,您是在做什么?编译OSG?编译您自己的工程?您设置的依赖库是否存在?它们是否在VS包含的目录下?

该用户从未签到

发表于 2011-3-31 13:32:44 | 显示全部楼层
回复 3# array


    找不到“OSG-VC工程向导”这个资料了 王锐哥能再传一个吗? 这是我们初学者的福音啊!我看好多人都卡在工程配置环境变量配置上了...

该用户从未签到

发表于 2013-1-31 21:29:52 | 显示全部楼层
array 发表于 2009-2-1 09:55
VS工程要设置Project->Properties里面的C/C++选项卡,
General->Additional Include Directories中设置OSG ...

问题解决了,可是又出现了一个新问题错误        fatal error C1083: 无法打开包括文件:“osg/Config”: No such file or directory       
这个肿么破?

该用户从未签到

发表于 2013-2-4 09:28:19 | 显示全部楼层
您之前有什么问题么?您这个提示很显然是因为您没有INSTALL工程并且把依赖库路径指向安装后的include目录,直接指向源代码的include是不行的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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