Boost:为什么~/user-config.jam中列出的工具集不可用于/b2
Boost: Why is toolset listed in ~/user-config.jam not available to ./b2?
在我试图回答自己的问题时,Clang链接器报告"符号未找到";,尽管';nm-m';我发现了一些链接,这些链接表明我必须在OS X上构建Boost,以便它显式地使用Clang并在此处、此处和此处链接到libc++
。
按照指示的步骤(借助额外的谷歌搜索来帮助/确认编辑user-config.jam
的过程,将其放在我的主目录中,以及其他必要的步骤),我在我的~/user-config.jam
文件中添加了以下行:
using clanglibcpp : 11
: "/usr/bin/clang++"
: <cxxflags>"-std=c++11 -stdlib=libc++" <linkflags>"-stdlib=libc++"
;
然后我从$BOOST_ROOT
目录运行./b2
:
./b2 toolset=clanglibcpp-11 --with-filesystem variant=release link=static threading=multi
不幸的是,无论我做什么,我都会收到以下错误:
ERROR: rule "clanglibcpp.init" unknown in module "toolset"
我已经确认/usr/bin/clang++
存在于指示的路径中(确实存在)。我也尝试过将上面的行添加到$BOOST_ROOT/tools/build/v2/user-config.jam
中(运气不好)。我还尝试过从boost根目录运行./bootstrap.sh
,以及运行./b2 --clean
。运气不好。
我应该怎么做才能让user-config.jam
中的工具集在OS X上的Boost构建中生效?
@llonesmiz对@Dan Nissenbaum有效的回答:
我不确定,很遗憾我现在不能检查,但你能尝试使用吗
using clang : libcpp11
: "/usr/bin/clang++"
: <cxxflags>"-std=c++11 -stdlib=libc++" <linkflags>"-stdlib=libc++"
;
然后像这样调用b2:
./b2 toolset=clang-libcpp11 --with-filesystem variant=release link=static threading=multi
相关文章:
- NPM 安装:找不到平台工具集 = v141
- 构建在VS 2013中找不到平台工具集= 'v141'
- C++ VS 工具集 141 - 142 铸造的差异
- 如果使用平台工具集构建应用,则 CCheckListBox 项在选择时会重叠'Visual Studio 2017 (v141)'
- Visual Studio Platform 工具集和运行时库
- 使用自定义工具集获取动态退出析构函数链接错误 - eh 矢量析构函数
- 在一个VS项目中使用多个工具集 - 是否存在风险
- 为什么在链接时搜索使用错误工具集的提升库?
- C2064 从 MSVC v100 更新到 v140 平台工具集时出现编译错误
- 使用类型参数专用化部分模板参数(VC++ v140 工具集)
- C V100平台工具集
- 提升链接器错误工具集
- 如何获取Visual Studio C++工具集标记
- 我已安装的GCC版本是我已安装的RedHat开发人员工具集的背后
- 找不到 Visual Studio 2008 的生成工具(平台工具集 = 'v90')
- 如何使用 CMake 设置 VS 平台工具集属性
- 始终使用 Visual Studio 中提供的最新工具集
- 使用不同工具集使用Cl.EXE编译
- 我可以将使用v120_xp工具集构建的静态库链接到使用VS2013中的v120工具集创建的EXE/DLL中吗
- Boost:为什么~/user-config.jam中列出的工具集不可用于/b2