Android Cmake 编译报错 cmake/api/v1/reply was not a directory

cmake 编译报错
/xxx /4z512k3e//.cmake/api/v1/reply was not a directory

试到最后发现是cmake.dir配置的版本低引起的问题。
有问题的版本 ‘3.10.2’
没问题的版本 ‘3.22.1’

在使用 CMake 编译时出现 `/usr/bin/ld: cannot find -lmosquitto` 错误,通常意味着链接器无法找到 `libmosquitto` 库文件。可以参考以下思路解决该问题: 1. **确认库文件是否存在**:使用 `find` 命令在系统中查找 `libmosquitto` 库文件。 ```bash find / -name "libmosquitto.so*" ``` 2. **建立软链接**:如果找到了库文件,但链接器无法找到它,可以通过建立软链接将其放到系统默认的库搜索路径中。假设找到的库文件路径为 `/path/to/libmosquitto.so`,可以使用以下命令建立软链接: ```bash sudo ln -s /path/to/libmosquitto.so /usr/local/lib/libmosquitto.so ``` 之后,需要更新动态链接器缓存: ```bash sudo ldconfig ``` 3. **更新 CMakeLists.txt**:在 `CMakeLists.txt` 文件中明确指定库文件的路径。假设库文件位于 `/path/to/lib` 目录下,可以在 `CMakeLists.txt` 中添加以下内容: ```cmake link_directories(/path/to/lib) target_link_libraries(your_target_name mosquitto) ``` 其中,`your_target_name` 是你的项目目标名称。 4. **检查依赖和更新 CMake**:这个问题可能不只是一种原因引发的,缺少依赖时也会报错,这时报这个错误的原因可能是 CMake 版本过低,无法检测出这个问题。可以提前手动更新 CMake 以更容易排查原因: ```bash sudo apt install -y apt-transport-https ca-certificates gnupg software-properties-common lsb-release wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc | sudo gpg --dearmor -o /usr/share/keyrings/kitware-archive-keyring.gpg echo "deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/kitware.list >/dev/null sudo apt update sudo apt install cmake ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值