exiv2 cmake编译错误及解决方案
157 浏览量
更新于2024-08-29
收藏 37KB PDF 举报
在尝试构建exiv2项目时,遇到了CMake配置阶段的错误。当你运行`cmake .. -DCMAKE_BUILD_TYPE=Release`命令时,出现了如下错误:
```shell
CMake Error at cmake/compilerFlags.cmake:32 (if):
if given arguments:
COMPILER_IS_GCC OR ( COMPILER_IS_CLANG AND
CMak
```
这个错误指出,CMake脚本在检查编译器类型时遇到了问题,因为它在`compilerFlags.cmake`文件中的`if`语句中遇到了未知的参数。具体来说,它试图检测GCC或Clang编译器,并且期望`CMAKE_CXX_COMPILER_VERSION`变量的值至少是3.7,但遇到了未预期的参数。
解决这个问题的方法是降级到exiv2的早期版本0.26。根据提供的解决方案,你需要执行以下步骤:
1. 创建一个新的构建目录:`mkdir build`
2. 进入新目录:`cd build`
3. 使用0.26版本的CMake进行配置:`cmake ..`(注意没有指定`-DCMAKE_BUILD_TYPE=Release`,因为这是默认设置)
4. 执行构建过程:`cmake --build .`(这里的`.`表示当前目录)
当完成配置并进入构建阶段时,你遇到了新的错误,这表明测试脚本`addmoddel.sh`在尝试创建临时文件时失败,因为找不到`test/tmp/addmoddel`和`tmp/ttt`目录。这可能是由于测试环境设置不完整或者脚本本身的路径问题。
为了解决这个问题,你可以尝试以下操作:
- 确保测试目录存在:手动创建`test/tmp`和`tmp`目录,如果它们不存在。
- 检查`addmoddel.sh`脚本是否正确指向了这些目录,确保它们与当前项目的结构一致。
- 如果测试脚本依赖于特定的环境设置,可能需要调整或提供正确的环境变量,比如设置`TEST_TMPDIR`或`TMPDIR`。
最后,重新运行`make tests`来执行测试。如果以上步骤都无法解决问题,可能需要查阅exiv2 0.26的文档或寻求社区支持,因为旧版本的库可能会有特定的构建和测试要求。
2024-02-16 上传
198 浏览量
171 浏览量
2021-05-06 上传
196 浏览量
188 浏览量
点击了解资源详情
112 浏览量
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
weixin_38621365
- 粉丝: 7
最新资源
- 微信小程序项目源码分享与解析
- Android中Handler与子线程实现计时方法
- AntiFreeze:永不卡死的高效任务管理器
- DPS系统7.05版本发布:全面升级的统计分析软件
- 记忆卡游戏:HTML制作的互动记忆练习工具
- 易语言实现EXCEL数据与MYSQL数据库交互操作教程
- 掌握数据科学核心技能的哈佛专业证书课程
- C#实现仿Windows记事本功能及特色工具集成
- 全面覆盖BAT Java面试题及详解
- H5音乐播放器模板开发:一站式网页音乐体验
- rcsslogplayer-15.1.0版本发布:全新的日志播放器
- 邮件服务库SendGrid、PostMark、MailGun和Mandrill使用教程
- perseid博客引擎:使用Meteor打造的早期原型
- 创建干净简洁的投资组合网站:mike.lastorbit.co的Jekyll主题指南
- LM2596双路稳压电源设计与完整AD工程资料
- FunPlane打飞机小游戏开发体验分享