我已经构建了Ogre 3d引擎(thread和date_time)所需的动态boost库。我的boost目录位于C:\ boost中,lib位于C:\ boost \ lib中,并且根据标准要求包含在C:\ boost(\ boost)中。
如果您熟悉CMake和Ogre(因为这是从源代码构建任何Ogre存储库克隆的最简单方法),您知道没有其他要指定的内容。在我的情况下,情况并非如此:Cmake总是报告它无法找到提升。只有当我尝试从他们的存储库构建Ogre 1.8版本时才会发生这种情况。当我使用Ogre 2.0实验不稳定时(在我写这个问题的时候),成功找到了boost,它的线程和日期时间组件也是如此。
有没有人有任何想法?最好是,有人试图以这种方式构建Ogre 1.8源吗?
我确实尝试了几乎所有的东西(甚至是命令行cmake),但没有得到积极的结果。
我在Ogre论坛上几乎两次问过这个问题,这些来源没有解决Ogre稳定发布的问题。
什么使Cmake在构建一个版本而非另一个版本时脱轨如此之多?我怎样才能在CMake中检查boost的存在(不创建构建解决方案或其他任何东西)?
必须有一个简单的命令行标志或一个简单的脚本来运行cmake,但除了FindBoost.cmake
文件之外,没有其他任何真正有用的东西(并且那个太大而无法在快速浏览一下。
更新 使用 sakra 的建议,我发现 boost 已被识别:
-- [ C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/FindBoost.cmake:6
7 ] location of version.hpp: C:/boost/boost/version.hpp
-- [ C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/FindBoost.cmake:7
6 ] version.hpp reveals boost 1.50.0
但是虽然这一部分的确揭示了boost应该是什么,但是线程和date_time库对CMake是不可见的。
Boost_USE_STATIC_LIBS
标志设置为OFF / FALSE,以防万一..
UPDATE :
C:\Ogre18\Build>cmake --find-package -DNAME=Boost -DCOMPILER_ID=GNU -DLANGUAGE=C
XX -DMODE=EXIST
Boost found.
最终,cmake找不到所需的组件。可以检查属于boost安装的特定库吗?