如何解决C ++,CMake和Xcode符号浏览器
我正在创建使用CMake生成XCode项目的C ++项目。它使用Boost FileSystem和代码行
SET(BOOST_ROOT ~/libs/boost/boost_1_64_0)
set(Boost_USE_STATIC_LIBS ON)
FIND_PACKAGE(Boost 1.64 EXACT REQUIRED COMPONENTS filesystem)
include_directories(${Boost_INCLUDE_DIRS})
但是现在Symbol Navigator被成千上万的Boost类污染了
有什么办法可以排除这些?由于我的项目是在cmake中生成的,因此尚不清楚我具有什么功能。我猜了一下,说我的包含对象最初是#include "boost/filesystem.hpp"
,然后将其更改为#include <boost/filesystem.hpp>
,但这似乎没有什么不同。接下来,我认为cmake包含目录命令上可能会有一个标记,因此尝试了include_directories(SYSTEM ${Boost_INCLUDE_DIRS})
,但这没用。
是否有一种方法可以指示xcode不应在导航器中包含这些目录?
解决方法
使用底部的过滤器:
- 仅显示类和协议:单击底部过滤器栏中的“类和协议”按钮()。
- 仅显示项目符号:单击底部过滤器栏中的“项目符号”按钮()。
https://help.apple.com/xcode/mac/current/#/dev2241bf769
尝试为目标设置include_directories
,而不是设置HEADER_SEARCH_PATHS
。
您可能需要编辑Boost_INCLUDE_DIRS
,以使其用引号的文件路径分隔成空格。
set_target_properties(${target_name} PROPERTIES XCODE_ATTRIBUTE_USER_HEADER_SEARCH_PATHS "${Boost_INCLUDE_DIRS}")
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。