ST意法半导体
直播中

刘艳

7年用户 2215经验值
私信 关注
[问答]

将STM32项目复制到新的C/C++托管构建项目时,遇到头文件位置错误怎么解决?

它有自动生成的插件包括“链接”,但我缺少以下内容。
{项目}/核心/公司
{项目}/Drivers/CMSIS/Device/ST/STM32G4xx/Include
{项目}/Drivers/CMSIS/Include
{project}/Drivers/STM32G4xx_HAL_Driver/Inc
{项目}/Drivers/STM32G4xx_HAL_Driver/Inc/Legacy
我担心如果我只是创建一个真正的{project}/Includes 目录并开始添加符号链接,这将与已经存在的自动生成的插件链接发生冲突。
我看到的另一种选择是使用 STM32 向导自动生成一个新项目,然后返回并在 C++ 构建设置配置(启用 g++)中添加 C++ 工具。
1.8.0 IDE 在 Ubuntu 20.04 LTS 系统上运行。我也想让这个项目建立在 Win10 系统上,但我不是 Windows 编码员,我不知道如何使 Doze 等同于“符号链接”。
我宁愿学习正确地执行此操作,也不愿通过到处复制头文件来修复每个错误!提前致谢!







回帖(1)

王桂兰

2022-12-14 13:52:23
更具体地说,我很好奇您是否在此处保留默认设置:

默认是“只复制必要的文件”。这意味着所有 c/h 文件都从您的 CubeFW 存储库物理复制到您的项目中。没有 Eclipse/符号链接。
假设您保留此默认值,那么下一个问题是您如何尝试复制资源。如果您在 CubeIDE项目资源管理器视图中拖放资源,那么您可以移动/复制/符号链接(符号链接在这种情况下只是一个 Eclipse 元数据链接)资源。在 Windows 上默认为移动。通过按住 CTRL,您可以制作副本。通过按住 ALT,您可以创建一个 Eclipse 链接。
如果您移动或复制了包含路径,则应该进行简单验证。
如果你创建一个链接,那么我认为包含路径应该仍然指向文件的原始位置。不是链接的地方。不是 100% 确定。
也许这是你的问题。
但是这整个情况的切入点是你想把一个C项目变成一个C++项目?
如果是这样,请右键单击您的项目 >转换为 C++。小心,您必须遍历汇编器和 C++ 编译器设置以确保它们正常。我们无法自动移动所有设置。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分