【问题标题】:Can't cmake cpp-netlib with Boost framework made with boost.sh script无法使用 boost.sh 脚本制作的 Boost 框架 cmake cpp-netlib
【发布时间】:2014-02-04 22:09:57
【问题描述】:

我正在尝试用 cmake 编译 cpp-netlib。

我的配置: OS X 10.9.1 小牛 + Xcode 5.0.2 cpp-netlib 0.11.0 cmake 2.8.12.2 提升 1.55.0

因为我试图让整个事情在 OS X 和 iOS 7 上运行,所以我使用以下脚本制作了一个 Boost 框架: https://github.com/mgrebenets/boost-xcode5-iosx

我在没有 c++11 的情况下进行了全新安装,例如:“$ ./boost.sh clean -v 1.55.0”

这产生了两个“boost.framework”目录,一个用于 OS X,第二个用于 iOS。我已在“构建阶段 > 将二进制文件与库链接”中成功地将 OS X Boost 框架添加到我的 Xcode 项目中,并测试了 Boost 文档中的 boost::regex 示例,该示例在我的 Mac 上运行良好。

但是,当我开始制作 cpp-netlib 时,我遇到了问题。当我尝试运行它时:

$ cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ ../cpp-netlib-0.11.0-final/

它产生以下输出:

-- The C compiler identification is Clang 5.0.0
-- The CXX compiler identification is Clang 5.0.0
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/g++
-- Check for working CXX compiler: /usr/bin/g++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
CMake Error at /Applications/CMake 2.8-12.app/Contents/share/cmake-    2.8/Modules/FindBoost.cmake:1111 (message):
  Unable to find the requested Boost libraries.

  Unable to find the Boost header files.  Please set BOOST_ROOT to the root
  directory containing Boost or BOOST_INCLUDEDIR to the directory containing
  Boost's headers.
Call Stack (most recent call first):
  CMakeLists.txt:40 (find_package)


-- Found OpenSSL: /usr/lib/libssl.dylib;/usr/lib/libcrypto.dylib (found version "0.9.8y") 
-- Looking for include file pthread.h
-- Looking for include file pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - found
-- Found Threads: TRUE  
CMake Error at CMakeLists.txt:107 (export):
  export given target "cppnetlib-client-connections" which is not built by
  this project.


-- Configuring incomplete, errors occurred!
See also "/Users/lime/Downloads/cpp-netlib-build/CMakeFiles/CMakeOutput.log".

我尝试将 BOOST_ROOT 环境变量设置为“path_to_framework/boost.framework/”和“path_to_framework/boost.framework/Versions/A/” 我还尝试将 BOOST_INCLUDEDIR 设置为“path_to_framework/boost.framework/Versions/A/Headers/”,直接设置到 headers 目录。

不幸的是,我每次仍然遇到相同的错误...

谁能帮我设置用于 iOS 7 的 cpp-netlib?我的头目前被 C++ 中的所有编译/要求/库/等所淹没。我来自 web 编程背景,使用过 PHP、JavaScript、相当多的 MS PowerShell(是的,我知道... =)),以及过去的一点 Java,但 C/C++ 对我来说是新的。 ..请对新手温柔=)

谢谢, 西蒙

【问题讨论】:

    标签: c++ ios macos boost cpp-netlib


    【解决方案1】:

    您需要将-DBOOST_ROOT=/path/to/your/boost 添加到您的cmake 调用中。

    【讨论】:

      猜你喜欢
      • 2013-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多