Conan 1.35 Documentation
5.70 MB
759 页
0 评论
语言 | 格式 | 评分 |
---|---|---|
英语 | .pdf | 3 |
摘要 | ||
文档主要介绍了Conan 1.35版本的更新内容,包括新功能和修复的bug。新增功能包括MSBuildDeps生成器使用新的访问者模型处理条件需求、CMake工具链支持include_guard()特性、新增conan lock bundle clean-modified命令、使用conancvvars.bat文件为Meson工具链提供支持等。文档还提到了对Python 2的支持已弃用,仅支持Python 3。此外,文档强调了Conan的兼容性和社区贡献,并提供了详细的变更日志和使用指南。 | ||
AI总结 | ||
### Conan 1.35 版本更新总结
#### 核心更新内容
1. **版本兼容性**
- Conan 1.35 保证与 1.0 及更高版本的兼容性,不会破坏现有的配方或命令行调用。
- 公共仓库(如 ConanCenter)假设使用最新版本的 Conan 客户端,旧版本可能无法支持新功能。
2. **新功能**
- **MSBuildDeps 生成器**:支持新访问模型,正确处理条件化依赖。
- **CMake 工具链**:支持 `include_guard()` 特性。
- **锁定命令**:新增 `conan lock bundle clean-modified` 命令。
- **Meson 工具链支持**:使用 `conancvvars.bat` 文件。
- **自定义定义**:允许在 Conan 新模板中添加任意定义。
- **自动测试支持**:新增对不同工具版本和 CMake 版本的测试支持。
- **新生成器**:支持 qmake 生成器(感谢 @dragly)。
- **文件删除改进**:改进 `shutil.rmtree` 处理,避免因权限问题导致的手动删除需求,尤其在 Windows 上。
- **CI 支持**:新增对 Travis-CI 和 AppVeyor 的 CI 支持。
- **下载验证**:新增 `md5`, `sha1`, `sha256` 帮助程序,用于验证外部下载的完整性。
- **默认设置更新**:添加最新 GCC 版本到 `settings.yml`。
- **新命令**:新增 `profile list` 和 `profile show` 命令,用于查看配置文件。
- ** FreeBSD 支持**:初步支持 FreeBSD 系统。
- **描述字段**:新增 `description` 字段,用于文档化包内容。
- **导入功能**:支持生成 `conanbuildinfo.manifest` 并提供 `--undo` 功能以移除导入文件。
- **SSL 验证**:支持可选 SSL 证书验证,允许使用自签名证书。
- **自定义路径**:支持在配置文件中使用自定义路径,便于团队共享配置。
3. **改进与修复**
- **CMake 生成器**:修复链接标志问题,避免因路径以 `/` 开头而导致的错误。
- **私有 API 调用**:修复因调用 `conanfile.__init__` 导致的兼容性问题。
- **OpenSUSE 工具**:修复 `SystemPackageTools` 错误,避免使用 `apt-get` 而应使用 `zypper-aptitude`。
- **链接器标志**:修复基于 `find_package` 的 CMake 生成器的链接器标志问题。
- **构建依赖处理**:修复 `MSBuildDeps` 的递归构建依赖问题。
- **C++ 标准支持**:改进对 C++20 标准的支持,修复与现代编译器的兼容性问题。
- **多配置包**:修复多配置包的构建问题。
- **链接顺序与符号链接**:修复符号链接导致的构建失败问题。
- **检测工具改进**:改进编译器检测算法,通过编译器内置宏定义检测版本。
- ** SCM 工具改进**:修复 SCM 工具的错误检测信息。
- **搜索功能**:改进依赖项搜索的高级查询功能。
- **文件名大小写处理**:改进对 Windows 系统文件名大小写的处理。
4. **弃用与不兼容**
- **自定义路径管理**:`scopes` 部分在配置文件中已弃用。
- **工具弃用**:弃用 `tools.msvc_build_command` 和 `tools.build_sln_command`。
- **环境变量弃用**:弃用 `CONAN_USERNAME` 和 `CONAN_CHANNEL` 环境变量。
- **属性访问弃用**:禁止直接访问 `self.settings`, `self.options`, 和 `deps_cpp_info.name`,建议使用 `get_name()` 方法。
- **标志弃用**:弃用 `cpp_info.cppflags`,建议使用 `cxxflags` 替代。
- **版本模式**:`CONAN_V2_MODE` 已启用,默认情况下会检测并使用新编译器检测算法。
5. **兼容性提示**
- 新功能和工具的使用可能与旧版本不兼容,需注意版本升级后的迁移问题。
6. **社区与使用情况**
- 数百家公司(如 Audi, Mercedes-Benz 等)和数千名开发者使用 Conan 管理依赖。
- Conan 社区活跃,GitHub 仓库贡献者超过 200 人,ConanCenter 仓库贡献超过 1000 个包。
- 用户可通过 Slack 频道和 GitHub 问题跟踪器获取支持。
总结:Conan 1.35 版本在功能扩展、性能优化和兼容性方面均有显著提升,新增了多项实用功能,修复了多个已知问题,并进一步完善了对现代 C++ 开发的支持。 |
P1
P2
P3
P4
P5
P6
P7
P8
P9
P10
P11
P12
下载文档到本地,方便使用
- 可预览页数已用完,剩余
747 页请下载阅读 -
文档评分