查看: 2475|回复: 2

osg的最新源码似乎有些问题

[复制链接]

该用户从未签到

发表于 2011-7-12 23:26:05 | 显示全部楼层 |阅读模式
我用svn把osg的最新源码下载下来,然后建了一个OSG_VS2005_INC的环境变量表示头文件的根路径,然后再使用VS 2005建了OpenThreads、osg等十几个空的win32 dll工程,再把相关的头文件和源码文件加进去(我没使用CMake,不太会用,后来才发现王锐大侠写了一篇《Win32编译OSG》,狂晕)。我编译OpenThreads工程时出现一个问题:

fatal error C1083: 无法打开包括文件:“OpenThreads/Config”: No such file or directory

      我找到OpenThreads/Config这个头文件,发现貌似是MAC系统的配置头文件。而在OpenThreads\Exports这个文件它是这样包含OpenThreads/Config的:
  1. #ifndef _OPENTHREAD_EXPORTS_H_
  2. #define _OPENTHREAD_EXPORTS_H_

  3. #include <OpenThreads/Config>

  4. #ifndef WIN32
  5.     #define OPENTHREAD_EXPORT_DIRECTIVE
  6. #else
  7.     #if defined( OT_LIBRARY_STATIC )
  8.         #define OPENTHREAD_EXPORT_DIRECTIVE
  9.     #elif defined( OPENTHREADS_EXPORTS )
  10.         #define OPENTHREAD_EXPORT_DIRECTIVE __declspec(dllexport)
  11.     #else
  12.         #define OPENTHREAD_EXPORT_DIRECTIVE __declspec(dllimport)
  13.    
  14.         #if 0 // Commented out for now

  15.             #ifdef _MSC_VER
  16.                 #ifdef _DEBUG
  17.                 #pragma comment(lib ,"OpenThreadsWin32d")
  18.                 #else
  19.                 #pragma comment(lib, "OpenThreadsWin32")
  20.                 #endif
  21.             #endif
  22.         #endif
  23.     #endif
  24. #endif

  25. #endif
复制代码
我想这里应该有问题吧,我感觉应该在定义mac系统的宏,如
#if defined(MAC_OS_X_VERSION_10_5)
      下才能包含OpenThreads/Config吧。我把#include <OpenThreads/Config>注释掉就能把工程编译通过了。

该用户从未签到

发表于 2011-7-13 04:46:32 | 显示全部楼层
OpenThreads/Config是CMake配置后产生的,其他的include目录也是一样的,请参考《Win32编译OSG》,使用CMake配置产生解决方案后再编译,教程里面非常详细

该用户从未签到

发表于 2011-7-13 08:17:39 | 显示全部楼层
很显然您没有按照正常的步骤去ALL_BUILD和INSTALL
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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