SPARC-RTEMS5-GCC 忽略或找不到库
SPARC-RTEMS5-GCC ignores or don't find libraries
我是 RTEMS 的初学者,我已经在我的计算机上为 erc32 芯片(RTEMS Docs 中的示例)构建了一个 RTEMS5 环境
linux 薄荷。该环境附带示例应用程序。我正在尝试编译
来自 "hello" (init.c) 使用 sparc-rtems5-gcc 的示例,这里是命令行:
sparc-rtems5-gcc -g -O2 /home/michel/masters_project/src/rtems/testsuites/samples/hello/init.c -o /home/michel/masters_project/compile_test/hello2.exe
但是 returns 出现以下错误:
fatal error: rtems.h: No such file or directory
#include <rtems.h>
^~~~~~~~~
compilation terminated.
所以我尝试在init.c代码中注释rtems.h,留下代码的下一个库,
tmacros.h,于是再次尝试编译,出现如下错误:
fatal error: tmacros.h: No such file or directory
#include <tmacros.h>
^~~~~~~~~~~
compilation terminated.
我使用定位命令在环境树中找到了这些库。
据我所知,sparc-rtems5-gcc 没有找到或忽略这些库。
我将 bin 文件夹添加到 PATH 变量中。
命令行:
export PATH=$HOME/masters_project/rtems/5/bin:"$PATH"
我也创建了变量
RTEMS_MAKEFILE_PATH 基于旧版本说明。我发现
RTEMS_MAKEFILE_PATH 变量应该指向 BSP 文件所在的位置。但
我不确定在当前版本的 RTEMS 中是否仍然需要创建这个环境变量,因为我在主要文档中没有找到任何相关说明。
命令行:
export RTEMS_MAKEFILE_PATH=/home/michel/masters_project/build/b-erc32
有人可以帮忙吗?另外,如果您有工作环境,可以复制您的项目吗
树给我?
我的 uname -a 命令输出:
Linux michel-COM 4.15.0-45-generic #48~16.04.1-Ubuntu SMP Tue Jan 29 18:03:48 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
您需要使用
为与 RTEMS 关联的头文件包含添加目录包含标志
-I {path-to-RTEMS}
,示例:flag_rtems = -I /opt/rtems/5/,现在在编译阶段使用$(flag_rtems)
。
- 导出
$(PATH)
将有助于在 运行 环境中使用二进制文件,而不是搜索包含的头文件。
建议在 /opt/
目录中安装 RTEMS。
(注意:目录包含标志用于目标文件编译阶段,而不是链接阶段。)
我是 RTEMS 的初学者,我已经在我的计算机上为 erc32 芯片(RTEMS Docs 中的示例)构建了一个 RTEMS5 环境 linux 薄荷。该环境附带示例应用程序。我正在尝试编译 来自 "hello" (init.c) 使用 sparc-rtems5-gcc 的示例,这里是命令行:
sparc-rtems5-gcc -g -O2 /home/michel/masters_project/src/rtems/testsuites/samples/hello/init.c -o /home/michel/masters_project/compile_test/hello2.exe
但是 returns 出现以下错误:
fatal error: rtems.h: No such file or directory
#include <rtems.h>
^~~~~~~~~
compilation terminated.
所以我尝试在init.c代码中注释rtems.h,留下代码的下一个库, tmacros.h,于是再次尝试编译,出现如下错误:
fatal error: tmacros.h: No such file or directory
#include <tmacros.h>
^~~~~~~~~~~
compilation terminated.
我使用定位命令在环境树中找到了这些库。 据我所知,sparc-rtems5-gcc 没有找到或忽略这些库。 我将 bin 文件夹添加到 PATH 变量中。 命令行:
export PATH=$HOME/masters_project/rtems/5/bin:"$PATH"
我也创建了变量 RTEMS_MAKEFILE_PATH 基于旧版本说明。我发现 RTEMS_MAKEFILE_PATH 变量应该指向 BSP 文件所在的位置。但 我不确定在当前版本的 RTEMS 中是否仍然需要创建这个环境变量,因为我在主要文档中没有找到任何相关说明。
命令行:
export RTEMS_MAKEFILE_PATH=/home/michel/masters_project/build/b-erc32
有人可以帮忙吗?另外,如果您有工作环境,可以复制您的项目吗 树给我?
我的 uname -a 命令输出:
Linux michel-COM 4.15.0-45-generic #48~16.04.1-Ubuntu SMP Tue Jan 29 18:03:48 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
您需要使用
为与 RTEMS 关联的头文件包含添加目录包含标志-I {path-to-RTEMS}
,示例:flag_rtems = -I /opt/rtems/5/,现在在编译阶段使用$(flag_rtems)
。- 导出
$(PATH)
将有助于在 运行 环境中使用二进制文件,而不是搜索包含的头文件。
建议在 /opt/
目录中安装 RTEMS。
(注意:目录包含标志用于目标文件编译阶段,而不是链接阶段。)