Sun*_*275 5 c++ linux eclipse-cdt xilinx zynq-ultrascale+
我正在学习 Ultra96v2 板的“ Xilinx SoC 深度学习简介技术培训课程”课程,并达到了 5 号实验室。
我能够一直跟进,直到我应该在 SDK 中构建项目为止。它失败并告诉我这样的错误:
15:49:06 **** Incremental Build of configuration Debug for project mnist_file_io ****
make all
Building file: ../src/mnist_file_io.cc
Invoking: ARM v8 Linux g++ compiler
aarch64-linux-gnu-g++ -Wall -O0 -g3 -I/media/user/6b04b610-ff80-4702-a575-b0b1a78fbafb/training/AvnetTTC/DPU/U96AI_student_20200115/U96AI/2018_3/work/lab5/workspace/ExtraIncludes -I/usr/include -c -fmessage-length=0 -MT"src/mnist_file_io.o" --sysroot=YSROOT -MMD -MP -MF"src/mnist_file_io.d" -MT"src/mnist_file_io.o" -o "src/mnist_file_io.o" "../src/mnist_file_io.cc"
In file included from ../src/mnist_file_io.cc:9:0:
/tools/Xilinx/SDK/2018.3/gnu/aarch64/lin/aarch64-linux/aarch64-linux-gnu/include/c++/7.3.1/cmath:45:15: fatal error: math.h: No such file or directory
#include_next <math.h>
^~~~~~~~
compilation terminated.
src/subdir.mk:21: recipe for target 'src/mnist_file_io.o' failed
make: *** [src/mnist_file_io.o] Error 1
Run Code Online (Sandbox Code Playgroud)
它找不到头文件,尽管它包含在教程和我提供的路径中。实际上,还没有找到另外两个文件:
#include <opencv2/opencv.hpp>#include <dnndk/dnndk.h>我可以通过从它们所在的目录中手动挑选它们并将它们添加到 Xilinx SDK 应在其中搜索标头的额外目录中来包含它们。但这提出了一个问题:为什么它们一开始就没有被发现?正确安装并按照上述教程中的说明进行操作后,我不应该准备好构建它吗?
实际上,通过使用 Xilinx 下载网站 ( Xilinx_SDK_2018.3_1207_2324_Lin64.bin) 上的安装程序,SDK 无法启动,因为 SDK 程序缺少一些文件(eclipse 和其他一些东西)。因此,一旦我从其他安装(Vivado 等)复制这些文件,它就开始了。这不是应该开箱即用吗?不幸的是,重新安装等都不起作用。
所以我想这里明确的一个问题是:是否有可能为 Eclipse/Xilinx SDK 提供所有所需标准头文件的目录路径并在其中进行搜索?因为在某些标准标头中,它们包含其他标头,而 Xilinx SDK 无法找到这些标头。这能解决我的问题吗?
有趣的是,当我使用 Ctrl+Click 操作从一个标题跳转到另一个标题时,所有标题都被找到,这没有问题。仅在构建过程中不再找到嵌入的进一步标头。另外,当我将 更改为 时#include_next,#include整个事情又开始工作。#include <header>与更改为相同#include "header.h"。然后就可以了。但这不可能是解决方案,更改每个引发错误的标头,因为它是这样生成的,是有原因的,对吗?
这真的很烦人并且会破坏任何工作流程。有没有人也遇到过这个问题并且可以帮助我?我使用的是Ubuntu 16.04和 Ultra96v2 板。
到目前为止我已经调查过但无济于事:
我已将 C++ gcc 标准库的路径作为 Eclipse/Xilinx IDE 应该搜索标头的路径,但未找到文件内的标头。
在这里您可以看到问题从哪里开始。这真的很奇怪,因为一切都是自动生成的,因此应该可以工作,特别是因为这些是预定义的标头和源,我没有更改它们。
在这里,您可以看到我在包含路径中包含了通常的标准标头位置,因此应该可以找到有问题的文件。
| 归档时间: |
|
| 查看次数: |
1353 次 |
| 最近记录: |