【发布时间】:2022-03-03 18:23:31
【问题描述】:
我正在用 Ubuntu 的 HAT 为树莓派 pico 开发一个程序。 我将 arm-none-eabi-gcc 与 cmake 一起使用。 我想包含 sys/socket.h 用于 tcp/ip 套接字编程
来自命令:$ echo | arm-none-eabi-gcc -v -x c -E -, 我明白了
/usr/lib/gcc/arm-none-eabi/6.3.1/include
/usr/lib/gcc/arm-none-eabi/6.3.1/include-fixed
/usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/include
因此当我尝试编译 .c 文件时没有得到这样的文件或目录
用#include
我想包含 /usr/include 及其包含 socket.h 文件的子目录。
如何在编译时添加 /usr/include。 我还应该将 newlib 用于 pico 机器吗?
【问题讨论】:
-
gcc ... -I
-L -
我不明白...你是在做裸机开发还是Linux开发?我以为 Pico 是一个微控制器?
-
我先在linux机器上开发并编译.c文件。当前工具链将 .c 编译为 .uf2 文件。然后我将 .uf2 文件拖放到你所说的微控制器上。 @Lundin
-
@simony1124 但是,您究竟是如何将 TCP/IP 堆栈和 Linux 套接字放入微控制器的呢?
-
您需要使用目标上存在的任何套接字库,就这么简单。除非有人决定在目标的某个 TCP/IP 堆栈之上将其实现为 HAL,否则没有理由可以使用 sys/socket。