CMake: "fatal error: cstdio: No such file or directory"
CMake: "fatal error: cstdio: No such file or directory"
我正在尝试 CMake 一个项目。我刚开始使用它,所以我想这对于熟悉 CMake 的人来说一定很明显:
在 main.c 所在的主文件夹中,我包括
#include "tensorflow/lite/micro/all_ops_resolver.h"
已找到此库。在文件 all_ops_resolver.h 中有一行:
#include "tensorflow/lite/micro/micro_mutable_op_resolver.h"
在 micro_mutable_op_resolver.h 文件中还有一行:
#include <cstdio>
现在这会触发 CMake 的错误:
> In file included from
> ../main/tensorflow/lite/micro/all_ops_resolver.h:19,
> from ../main/main.c:16: ../main/tensorflow/lite/micro/micro_mutable_op_resolver.h:18:10: fatal
> error: cstdio: No such file or directory #include <cstdio>
> ^~~~~~~~
> compilation terminated.`
文件 stdio.h 将位于:
~/.espressif/tools/xtensa-esp32-elf/esp-2020r2-8.2.0/xtensa-esp32-elf/xtensa-esp32-elf/include
在项目目录之外。我不知道应该在哪个 CMakeLists.txt 中将编译器指向该文件夹。有人可以帮忙吗?
#include <cstdio>
适用于 C++。
您正在使用 C,所以您应该使用
#include <stdio.h>
相反。
#include <cstdio>
是一个 C++ 头文件,而 micro_mutable_op_resolver.h
头文件似乎来自 TensorFlow Lite for Microcontrollers,它是一个 C++ 库,因此您可能应该将 main.c 更改为 main.cpp并编译为 C++。
我正在尝试 CMake 一个项目。我刚开始使用它,所以我想这对于熟悉 CMake 的人来说一定很明显: 在 main.c 所在的主文件夹中,我包括
#include "tensorflow/lite/micro/all_ops_resolver.h"
已找到此库。在文件 all_ops_resolver.h 中有一行:
#include "tensorflow/lite/micro/micro_mutable_op_resolver.h"
在 micro_mutable_op_resolver.h 文件中还有一行:
#include <cstdio>
现在这会触发 CMake 的错误:
> In file included from
> ../main/tensorflow/lite/micro/all_ops_resolver.h:19,
> from ../main/main.c:16: ../main/tensorflow/lite/micro/micro_mutable_op_resolver.h:18:10: fatal
> error: cstdio: No such file or directory #include <cstdio>
> ^~~~~~~~
> compilation terminated.`
文件 stdio.h 将位于:
~/.espressif/tools/xtensa-esp32-elf/esp-2020r2-8.2.0/xtensa-esp32-elf/xtensa-esp32-elf/include
在项目目录之外。我不知道应该在哪个 CMakeLists.txt 中将编译器指向该文件夹。有人可以帮忙吗?
#include <cstdio>
适用于 C++。
您正在使用 C,所以您应该使用
#include <stdio.h>
相反。
#include <cstdio>
是一个 C++ 头文件,而 micro_mutable_op_resolver.h
头文件似乎来自 TensorFlow Lite for Microcontrollers,它是一个 C++ 库,因此您可能应该将 main.c 更改为 main.cpp并编译为 C++。