首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Cmake失败: Mac部署目标错配

Cmake失败: Mac部署目标错配
EN

Stack Overflow用户
提问于 2015-11-09 13:46:27
回答 1查看 354关注 0票数 0

我正在使用Mac中的ROS编译LSD-SLAM (v10.10.4)。ROS Jade已经设置,源代码已经签出。

然而,rosmake似乎失败了。

这是输出:

代码语言:javascript
复制
[ rosmake ] rosmake starting...                                                 
[ rosmake ] Packages requested are: ['lsd_slam']                                
[ rosmake ] Logging to directory /Users/apple/.ros/rosmake/rosmake_output-20151109-185908
[ rosmake ] Expanded args ['lsd_slam'] to:
['lsd_slam_core', 'lsd_slam_viewer'] 
[rosmake-0] Starting >>> catkin [ make ]                                        
[rosmake-0] Finished <<< catkin ROS_NOBUILD in package catkin
 No Makefile in package catkin
[rosmake-0] Starting >>> genmsg [ make ]                                        
[rosmake-0] Finished <<< genmsg ROS_NOBUILD in package genmsg
 No Makefile in package genmsg
[rosmake-0] Starting >>> genlisp [ make ]   

。。。大量的构建信息。。。

代码语言:javascript
复制
[rosmake-0] Starting >>> lsd_slam_viewer [ make ]                               
[ rosmake ] All 18 lines
{-------------------------------------------------------------------------------
  mkdir -p bin
  cd build && cmake -Wdev -DCMAKE_TOOLCHAIN_FILE=/Users/apple/ros_catkin_ws/install_isolated/share/ros/core/rosbuild/rostoolchain.cmake  ..
  CMake Error at /usr/local/Cellar/cmake/3.3.2/share/cmake/Modules/Platform/Darwin.cmake:76 (message):
    CMAKE_OSX_DEPLOYMENT_TARGET is '10.6' but CMAKE_OSX_SYSROOT:

     ""

    is not set to a MacOSX SDK with a recognized version.  Either set
    CMAKE_OSX_SYSROOT to a valid SDK or set CMAKE_OSX_DEPLOYMENT_TARGET to
    empty.
  Call Stack (most recent call first):
    /usr/local/Cellar/cmake/3.3.2/share/cmake/Modules/CMakeSystemSpecificInformation.cmake:36 (include)
    CMakeLists.txt:2 (project)


  -- Configuring incomplete, errors occurred!
  See also "/Users/apple/ros_catkin_ws/package_dir/lsd_slam/lsd_slam_viewer/build/CMakeFiles/CMakeOutput.log".
-------------------------------------------------------------------------------}
[ rosmake ] Output from build of package lsd_slam_viewer written to:
[ rosmake ]    /Users/apple/.ros/rosmake/rosmake_output-20151109-185908/lsd_slam_viewer/build_output.log
[rosmake-0] Finished <<< lsd_slam_viewer [FAIL] [ 0.09 seconds ]                
[ rosmake ] Halting due to failure in package lsd_slam_viewer. 
[ rosmake ] Waiting for other threads to complete.
[ rosmake ] Results:                                                            
[ rosmake ] Built 42 packages with 1 failures.                                  
[ rosmake ] Summary output to directory                                         
[ rosmake ] /Users/apple/.ros/rosmake/rosmake_output-20151109-185908     

这个问题的核心是这条小小的线:

代码语言:javascript
复制
CMAKE_OSX_DEPLOYMENT_TARGET is '10.6' but CMAKE_OSX_SYSROOT: ""

我看了一遍留言列表:

https://cmake.org/pipermail/cmake/2012-November/052649.html

这是:

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=15f5764e

但解决不了我的问题。

我尝试使用以下方法更新SDK根目录:

代码语言:javascript
复制
export SDKROOT=/Developer/SDKs/MacOSX10.6.sdk

我还尝试从public.cmake中注释出系统根目标,如下所示:sysroot/

但是没有joy。

请帮帮忙。提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2015-11-17 02:28:04

我也有同样的问题。请试试看。

在~/ros_catkin_ws/install_isolated/share/ros/core/rosbuild/public.cmake中注释一行,如下所示:

if(APPLE) #SET(CMAKE_OSX_DEPLOYMENT_TARGET "10.6" CACHE STRING "Deployment target for OSX" FORCE) endif(APPLE)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33610559

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档