C++ 使用外部增压的FireBreath

C++ 使用外部增压的FireBreath,c++,boost,cmake,firebreath,C++,Boost,Cmake,Firebreath,我正试图让FireBreath使用我机器上的其他boost库。 我跟着那条路走,但没用 以下是我运行准备脚本时得到的结果: CMake Error at C:/Program Files (x86)/CMake/share/cmake-3.0/Modules/FindBoost.cmake:1179 (message): Unable to find the requested Boost libraries. Boost version: 1.56.0 Boost includ

我正试图让FireBreath使用我机器上的其他boost库。
我跟着那条路走,但没用

以下是我运行准备脚本时得到的结果:

CMake Error at C:/Program Files (x86)/CMake/share/cmake-3.0/Modules/FindBoost.cmake:1179 (message):
  Unable to find the requested Boost libraries.

  Boost version: 1.56.0

  Boost include path: C:/Workspace/boost/boost_1_56_0

  Could not find the following static Boost libraries:

          boost_thread
          boost_chrono

  No Boost libraries were found.  You may need to set BOOST_LIBRARYDIR to the
  directory containing Boost libraries or BOOST_ROOT to the location of
  Boost.
Call Stack (most recent call first):
  cmake/common.cmake:111 (find_package)
  CMakeLists.txt:94 (add_boost_library)

project dir: C:/Workspace/MyPlugin
Single project: C:/Workspace/MyPlugin
CMake Error at C:/Program Files (x86)/CMake/share/cmake-3.0/Modules/FindBoost.cmake:1179 (message):
  Unable to find the requested Boost libraries.

  Boost version: 1.56.0

  Boost include path: C:/Workspace/boost/boost_1_56_0

  Could not find the following static Boost libraries:

          boost_thread
          boost_chrono
          boost_filesystem

  No Boost libraries were found.  You may need to set BOOST_LIBRARYDIR to the
  directory containing Boost libraries or BOOST_ROOT to the location of
  Boost.
Call Stack (most recent call first):
  cmake/common.cmake:111 (find_package)
  C:/Workspace/MyPlugin/PluginConfig.cmake:74 (add_boost_library)
  cmake/common.cmake:73 (include)
  CMakeLists.txt:125 (add_firebreath_plugin)


CMake Error at C:/Program Files (x86)/CMake/share/cmake-3.0/Modules/FindBoost.cmake:1179 (message):
  Unable to find the requested Boost libraries.

  Boost version: 1.56.0

  Boost include path: C:/Workspace/boost/boost_1_56_0

  Could not find the following static Boost libraries:

          boost_thread
          boost_chrono
          boost_filesystem
          boost_date_time

  No Boost libraries were found.  You may need to set BOOST_LIBRARYDIR to the
  directory containing Boost libraries or BOOST_ROOT to the location of
  Boost.
Call Stack (most recent call first):
  cmake/common.cmake:111 (find_package)
  C:/Workspace/MyPlugin/PluginConfig.cmake:75 (add_boost_library)
  cmake/common.cmake:73 (include)
  CMakeLists.txt:125 (add_firebreath_plugin)


CMake Error at C:/Program Files (x86)/CMake/share/cmake-3.0/Modules/FindBoost.cmake:1179 (message):
  Unable to find the requested Boost libraries.

  Boost version: 1.56.0

  Boost include path: C:/Workspace/boost/boost_1_56_0

  Could not find the following static Boost libraries:

          boost_thread
          boost_chrono
          boost_filesystem
          boost_date_time
          boost_regex

  No Boost libraries were found.  You may need to set BOOST_LIBRARYDIR to the
  directory containing Boost libraries or BOOST_ROOT to the location of
  Boost.
Call Stack (most recent call first):
  cmake/common.cmake:111 (find_package)
  C:/Workspace/MyPlugin/PluginConfig.cmake:76 (add_boost_library)
  cmake/common.cmake:73 (include)
  CMakeLists.txt:125 (add_firebreath_plugin)


CMake Error at C:/Program Files (x86)/CMake/share/cmake-3.0/Modules/FindBoost.cmake:1179 (message):
  Unable to find the requested Boost libraries.

  Boost version: 1.56.0

  Boost include path: C:/Workspace/boost/boost_1_56_0

  Could not find the following static Boost libraries:

          boost_thread
          boost_chrono
          boost_filesystem
          boost_date_time
          boost_regex
          boost_system

  No Boost libraries were found.  You may need to set BOOST_LIBRARYDIR to the
  directory containing Boost libraries or BOOST_ROOT to the location of
  Boost.
Call Stack (most recent call first):
  cmake/common.cmake:111 (find_package)
  C:/Workspace/MyPlugin/PluginConfig.cmake:77 (add_boost_library)
  cmake/common.cmake:73 (include)
  CMakeLists.txt:125 (add_firebreath_plugin)


CMake Error at C:/Program Files (x86)/CMake/share/cmake-3.0/Modules/FindBoost.cmake:1179 (message):
  Unable to find the requested Boost libraries.

  Boost version: 1.56.0

  Boost include path: C:/Workspace/boost/boost_1_56_0

  Could not find the following static Boost libraries:

          boost_thread
          boost_chrono
          boost_filesystem
          boost_date_time
          boost_regex
          boost_system

  No Boost libraries were found.  You may need to set BOOST_LIBRARYDIR to the
  directory containing Boost libraries or BOOST_ROOT to the location of
  Boost.
Call Stack (most recent call first):
  cmake/common.cmake:111 (find_package)
  C:/Workspace/MyPlugin/PluginConfig.cmake:78 (add_boost_library)
  cmake/common.cmake:73 (include)
  CMakeLists.txt:125 (add_firebreath_plugin)


Generating plugin configuration files in C:/Workspace/MyPlugin/build-2013/projects/MyPlugin/gen
Configuring C:/Workspace/MyPlugin/Win/WiX/MyPluginInstaller.wxs -> C:/Workspace/MyPlugin/build-2013/projects/MyPlugin/MyPluginInstaller.wxs
CMake Error at C:/Program Files (x86)/CMake/share/cmake-3.0/Modules/FindBoost.cmake:1179 (message):
  Unable to find the requested Boost libraries.

  Boost version: 1.56.0

  Boost include path: C:/Workspace/boost/boost_1_56_0

  Could not find the following static Boost libraries:

          boost_thread
          boost_chrono
          boost_system

  No Boost libraries were found.  You may need to set BOOST_LIBRARYDIR to the
  directory containing Boost libraries or BOOST_ROOT to the location of
  Boost.
Call Stack (most recent call first):
  cmake/common.cmake:111 (find_package)
  cmake/common.cmake:97 (add_boost_library)
  tests/ScriptingCoreTest/CMakeLists.txt:56 (link_boost_library)


CMake Error at C:/Program Files (x86)/CMake/share/cmake-3.0/Modules/FindBoost.cmake:1179 (message):
  Unable to find the requested Boost libraries.

  Boost version: 1.56.0

  Boost include path: C:/Workspace/boost/boost_1_56_0

  Could not find the following static Boost libraries:

          boost_thread
          boost_chrono
          boost_system
          boost_date_time

  No Boost libraries were found.  You may need to set BOOST_LIBRARYDIR to the
  directory containing Boost libraries or BOOST_ROOT to the location of
  Boost.
Call Stack (most recent call first):
  cmake/common.cmake:111 (find_package)
  cmake/common.cmake:97 (add_boost_library)
  tests/ScriptingCoreTest/CMakeLists.txt:57 (link_boost_library)


CMake Error at C:/Program Files (x86)/CMake/share/cmake-3.0/Modules/FindBoost.cmake:1179 (message):
  Unable to find the requested Boost libraries.

  Boost version: 1.56.0

  Boost include path: C:/Workspace/boost/boost_1_56_0

  Could not find the following static Boost libraries:

          boost_thread
          boost_chrono
          boost_system
          boost_date_time
          boost_regex

  No Boost libraries were found.  You may need to set BOOST_LIBRARYDIR to the
  directory containing Boost libraries or BOOST_ROOT to the location of
  Boost.
Call Stack (most recent call first):
  cmake/common.cmake:111 (find_package)
  cmake/common.cmake:97 (add_boost_library)
  tests/ScriptingCoreTest/CMakeLists.txt:58 (link_boost_library)


CMake Error at C:/Program Files (x86)/CMake/share/cmake-3.0/Modules/FindBoost.cmake:1179 (message):
  Unable to find the requested Boost libraries.

  Boost version: 1.56.0

  Boost include path: C:/Workspace/boost/boost_1_56_0

  Could not find the following static Boost libraries:

          boost_thread
          boost_chrono
          boost_system

  No Boost libraries were found.  You may need to set BOOST_LIBRARYDIR to the
  directory containing Boost libraries or BOOST_ROOT to the location of
  Boost.
Call Stack (most recent call first):
  cmake/common.cmake:111 (find_package)
  cmake/common.cmake:97 (add_boost_library)
  tests/ActiveXCoreTest/CMakeLists.txt:82 (link_boost_library)


CMake Error at C:/Program Files (x86)/CMake/share/cmake-3.0/Modules/FindBoost.cmake:1179 (message):
  Unable to find the requested Boost libraries.

  Boost version: 1.56.0

  Boost include path: C:/Workspace/boost/boost_1_56_0

  Could not find the following static Boost libraries:

          boost_thread
          boost_chrono
          boost_system
          boost_date_time

  No Boost libraries were found.  You may need to set BOOST_LIBRARYDIR to the
  directory containing Boost libraries or BOOST_ROOT to the location of
  Boost.
Call Stack (most recent call first):
  cmake/common.cmake:111 (find_package)
  cmake/common.cmake:97 (add_boost_library)
  tests/ActiveXCoreTest/CMakeLists.txt:83 (link_boost_library)


CMake Error at C:/Program Files (x86)/CMake/share/cmake-3.0/Modules/FindBoost.cmake:1179 (message):
  Unable to find the requested Boost libraries.

  Boost version: 1.56.0

  Boost include path: C:/Workspace/boost/boost_1_56_0

  Could not find the following static Boost libraries:

          boost_thread
          boost_chrono
          boost_system
          boost_date_time
          boost_regex

  No Boost libraries were found.  You may need to set BOOST_LIBRARYDIR to the
  directory containing Boost libraries or BOOST_ROOT to the location of
  Boost.
Call Stack (most recent call first):
  cmake/common.cmake:111 (find_package)
  cmake/common.cmake:97 (add_boost_library)
  tests/ActiveXCoreTest/CMakeLists.txt:84 (link_boost_library)


-- Configuring incomplete, errors occurred!
See also "C:/Workspace/MyPlugin/build-2013/CMakeFiles/CMakeOutput.log".
我在将参数传递到prep脚本时遇到一些问题,因此我将winprep.cmd脚本修改为:

cmake -G %_FB_GEN% -DWITH_SYSTEM_BOOST=1 -DBOOST_ROOT=C:/Workspace/boost/boost_1_56_0 -BOOST_LIBRARYDIR=C:/Workspace/boost/boost_1_56_0/bin.v2/lib %PDIR% %CMAKE_PARAMS% %FB_ROOT%
我做错了什么?我确实设置了
BOOST\u LIBRARYDIR
BOOST\u ROOT
,以及
与_SYSTEM\u BOOST
,但仍然得到所有这些错误,这些错误似乎也在重复

我在其他项目中使用这些boost库,所以我知道它工作得很好


谢谢。

这与其说是firebreath的问题,不如说是cmake Boost集成的问题;我不使用system boost,所以我不知道问题出在哪里,除非在1.56版本中发生了一些变化,因为已经用FireBreath和其中一些库测试过的版本已经发布1。将BOOST_ROOT设置为BOOST所在的位置(include和lib文件夹所在的位置),2。确保库存在-此算法应该足以解决所有此类问题。@Sergey,但我确实设置了
BOOST\u ROOT
,而且libs确实存在(正如我在其他项目中使用的那样)发现了问题,我很愚蠢,给了它错误的
BOOST\u LIBRARYDIR
路径,应该是BOOST\u ROOT/stage/lib也可以考虑添加
-DBoost\u DEBUG=ON
查看详细信息