Boost bjam 不会将编译器版本放在文件名中
Boost bjam doesn't put compiler version in filename
过去,b2/bjam会构建像So:
的库libboost_wserialization-gcc48-mt-d-1_60.so(Note -GCC48-(
我刚刚从git上克隆了增强,并且正在尝试使用G 8.3.0编译,但是它生成的库是命名的:
libboost_atomic-gcc-mt-d-x64-1_66.so(注意-gcc-(
i(和cmake(期望它被命名:
libboost_atomic-gcc83-mt-d-x64-1_66. (请注意-GCC83-(
构建,我做到了:
./bootstrap.sh --with-libraries="atomic" --prefix=`pwd`/install
./b2 --layout=versioned link=shared variant=debug threading=multi cflags=-fPIC cxxflags=-fPIC
我尝试过谷歌搜索,但还没有发现任何暗示我做错了什么,这是我的理解 - layout =版本应该导致编译器和库名称中的版本编号...
谢谢
邮件列表中的答案:
Possibly, it's related to the change in GCC 5+ versioning.
This was accommodated in Boost.Build in October 2018
https://github.com/boostorg/build/pull/349
that is, in Boost 1.69
(boostorg/build should use milestones for issues, IMO)
BTW, there are also CMake's issues in FindCMake.cmake
related to the compiler and architecture tag. So, you may have to
specify Boost_COMPILER and Boost_ARCHITECTURE hints
in order to help FindBoost.cmake recognise versioned names.
https://lists.boost.org/archives/boost/2019/04/246127.php
在解决方法上的小费:https://cmake.org/pipermail/cmake/2018-october/068459.htmlhttps://gitlab.kitware.com/cmake/cmake/issues/17701
相关文章:
- 从命令行c++发送文本文件名
- 为cl.exe(Visual Studio代码)指定命令行C++版本
- 如何在OMNET++中指定与命令行参数组合的输出文件名
- 导入库可以跨dll版本工作吗
- 在调用FreeLibrary后,释放动态链接到具有相同版本的CRT堆的DLL的内存
- 为什么文件名被设置为一个点,而不是在读取矢量中的文件名时
- 在clang++预处理器中确定gcc工具链版本
- 码头化的C++应用程序是否向后兼容早期的内核版本
- 不同的Visual Studio版本中缺少.dll
- 用符号版本替换对函数的所有调用
- luaL_dofile在已知良好的字节码上失败,可以使用未编译的版本
- 正在解码MSVC 32位版本的程序集(作业).没有手术做什么
- 我需要分发哪些版本的可再分发文件
- 当Microsoft文档仅包含 C# 示例时,如何查找 C++ 包含文件名
- CV_OCL_RUN宏如何在OpenCV(版本3.4.5)的goodFeaturesToTrack实现中工作?
- 在运行时读取 libstdc++ 版本
- 如何声明一个可以在整个程序中使用的全局 2d 3d 4d .. 数组(堆版本)变量?
- FindPackageHandleStandardArgs.cmake:137 的 CMake 错误(消息):找不到 Boost (缺少:正则表达式)(找到合适的版本"1.72.0",
- Boost bjam 不会将编译器版本放在文件名中
- SFML图像加载在发布版本上失败 - 文件名损坏