交叉编译时遇到的No Such File or directory的错误

嵌入式linux、android系统是32位的,为了编译这些系统上的c++程序,需要用到这些系统对应的toolchain。

这些toolchain通常都很大的压缩包,当你在64位机器上解压之后,执行一下里面的编译器,比如c++,结果报错:No Such File or Directory.

很奇怪,明明有这个文件,但是报这样的错。


这时候多半是由于你没有安装32位相关的一些库:

在ubuntu上,可以执行

sudo apt-get install gcc-multilib

sudo apt-get install lib32z1 lib32bz2-1.0

sudo apt-get install g++-multilib libc6-dev-i386


其它linux系统上也有相应的安装方法。


### CLion 中 STM32 项目编译出现 "No such file or directory" 错误解决方案 当在 CLion 开发环境中遇到 `No such file or directory` 的错误提示,通常意味着构建工具无法定位所需的源文件或头文件。以下是几种常见的原因及其对应的解决办法: #### 文件路径配置不正确 如果项目的 CMakeLists.txt 配置不当,则可能导致链接器找不到指定的文件。确保所有涉及文件路径的地方都已正确定义并指向实际存在的位置[^1]。 ```cmake set(SRC_FILES src/main.c src/utils.c ) add_executable(${PROJECT_NAME} ${SRC_FILES}) target_include_directories(${PROJECT_NAME} PRIVATE include/) ``` #### 路径中的特殊字符处理 某些情况下,Windows 系统上的路径可能包含 `$` 符号或其他特殊字符,这可能会引起解析问题。确认路径字符串内不存在非法转义序列,并且绝对路径已被妥善引用[^5]。 #### 工具链设置有误 对于嵌入式开发而言,选用合适的交叉编译器至关重要。验证当前使用的 GCC ARM Embedded Toolchain 是否安装完好并且版本兼容;同检查环境变量 PATH 下是否有冲突项影响到了调用链条[^4]。 #### 新增文件同步至 IDE 每当向工程目录下增添新的 .c/.cpp 或者 .h 文件之后,务必记得刷新一次索引让IDE重新扫描整个工作区内的资源列表。可以通过菜单栏里的 Invalidate Caches / Restart 来实现这一点[^2]。 #### 清理缓存重建项目 有残留的历史数据也会干扰正常流程。尝试清理本地生成物(Build Directory),再执行全量重制操作来排除潜在隐患[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值