json_parser_read.hpp:257:264: error: ‘type name’ declared as function returning an array escape

运行make之后出现如下错误:

/usr/include/boost/property_tree/detail/json_parser_read.hpp:257:264: error: ‘type name’ declared as function returning an array 
escape 

/usr/include/boost/property_tree/detail/json_parser_read.hpp:257:264: error: ‘type name’ declared as function returning an array 
make: * [.build_release/cuda/src/caffe/layers/detection_output_layer.o] Error 1 
make: * Waiting for unfinished jobs….

办法: 
修改json_parser_read.hpp:打开文件夹Document,选中computer,在搜索json_parser_read.hpp,找到该文件的路径之后用如下命令打开

sudo gedit /usr/include/boost/property_tree/detail/json_parser_read.hpp

将257行开始的escape代码段注释掉即可,如下:

/*escape
                    =   chset_p(detail::widen<Ch>("\"\\/bfnrt").c_str())
                            [typename Context::a_escape(self.c)]
                    |   'u' >> uint_parser<unsigned long, 16, 4, 4>()
                            [typename Context::a_unicode(self.c)]
                    ;*/
  
blackyin@yin:~/Desktop/tensorRT_Pro-YOLOv8-main$ make rtdetr -j64 Compile depends CUDA src/tensorRT/onnxplugin/plugins/HSwish.cu Compile depends CUDA src/tensorRT/onnxplugin/plugins/ScatterND.cu Compile depends CUDA src/tensorRT/onnxplugin/plugins/HSigmoid.cu Compile depends CUDA src/tensorRT/onnxplugin/plugins/DCNv2.cu Compile depends CXX src/tensorRT/builder/trt_builder.cpp Compile depends CXX src/tensorRT/onnxplugin/onnxplugin.cpp Compile depends CXX src/tensorRT/infer/trt_infer.cpp Compile depends CXX src/tensorRT/onnx_parser/ShapedWeights.cpp Compile depends CXX src/tensorRT/onnx_parser/OnnxAttrs.cpp Compile depends CXX src/tensorRT/onnx_parser/LoopHelpers.cpp Compile depends CXX src/tensorRT/onnx_parser/builtin_op_importers.cpp Compile depends CXX src/tensorRT/onnx_parser/onnxErrorRecorder.cpp Compile depends CXX src/tensorRT/onnx_parser/RNNHelpers.cpp Compile depends CXX src/tensorRT/onnx_parser/ModelImporter.cpp Compile depends CXX src/tensorRT/onnx_parser/ShapeTensor.cpp Compile depends CXX src/tensorRT/onnx_parser/NvOnnxParser.cpp Compile depends CXX src/tensorRT/onnx_parser/onnx2trt_utils.cpp In file included from src/tensorRT/onnx_parser/OnnxAttrs.cpp:5: src/tensorRT/onnx_parser/OnnxAttrs.hpp:7:10: fatal error: NvInfer.h: No such file or directory 7 | #include <NvInfer.h> | ^~~~~~~~~~~ compilation terminated. In file included from src/tensorRT/onnx_parser/LoopHelpers.cpp:5: src/tensorRT/onnx_parser/LoopHelpers.hpp:7:10: fatal error: NvInfer.h: No such file or directory 7 | #include <NvInfer.h> | ^~~~~~~~~~~ compilation terminated. In file included from src/tensorRT/onnx_parser/ShapedWeights.cpp:5: src/tensorRT/onnx_parser/ShapedWeights.hpp:7:10: fatal error: NvInfer.h: No such file or directory 7 | #include <NvInfer.h> | ^~~~~~~~~~~ compilation terminated. In file included from src/tensorRT/onnx_parser/onnx2trt.hpp:7, from src/tensorRT/onnx_parser/builtin_op_importers.hpp:7, from src/tensorRT/onnx_parser/builtin_op_importers.cpp:5: src/tensorRT/onnx_parser/NvOnnxParser.h:8:10: fatal error: NvInfer.h: No such file or directory 8 | #include "NvInfer.h" | ^~~~~~~~~~~ compilation terminated. In file included from src/tensorRT/onnx_parser/onnxErrorRecorder.cpp:5: src/tensorRT/onnx_parser/onnxErrorRecorder.hpp:7:10: fatal error: NvInferRuntimeCommon.h: No such file or directory 7 | #include "NvInferRuntimeCommon.h" | ^~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. In file included from src/tensorRT/onnx_parser/RNNHelpers.cpp:5: src/tensorRT/onnx_parser/RNNHelpers.hpp:7:10: fatal error: NvInfer.h: No such file or directory 7 | #include <NvInfer.h> | ^~~~~~~~~~~ compilation terminated. In file included from src/tensorRT/onnx_parser/onnx2trt.hpp:7, from src/tensorRT/onnx_parser/ImporterContext.hpp:7, from src/tensorRT/onnx_parser/ModelImporter.hpp:7, from src/tensorRT/onnx_parser/ModelImporter.cpp:5: src/tensorRT/onnx_parser/NvOnnxParser.h:8:10: fatal error: NvInfer.h: No such file or directory 8 | #include "NvInfer.h" | ^~~~~~~~~~~ compilation terminated. In file included from src/tensorRT/onnx_parser/ShapeTensor.cpp:5: src/tensorRT/onnx_parser/ShapeTensor.hpp:7:10: fatal error: NvInfer.h: No such file or directory 7 | #include <NvInfer.h> | ^~~~~~~~~~~ compilation terminated. In file included from src/tensorRT/onnx_parser/NvOnnxParser.cpp:5: src/tensorRT/onnx_parser/NvOnnxParser.h:8:10: fatal error: NvInfer.h: No such file or directory 8 | #include "NvInfer.h" | ^~~~~~~~~~~ compilation terminated. In file included from src/tensorRT/onnx_parser/onnx2trt_utils.hpp:7, from src/tensorRT/onnx_parser/onnx2trt_utils.cpp:5: src/tensorRT/onnx_parser/ShapedWeights.hpp:7:10: fatal error: NvInfer.h: No such file or directory 7 | #include <NvInfer.h> | ^~~~~~~~~~~ compilation terminated. In file included from src/tensorRT/onnxplugin/onnxplugin.cpp:2: src/tensorRT/onnxplugin/onnxplugin.hpp:9:10: fatal error: NvInfer.h: No such file or directory 9 | #include <NvInfer.h> | ^~~~~~~~~~~ compilation terminated. src/tensorRT/infer/trt_infer.cpp:6:10: fatal error: NvInfer.h: No such file or directory 6 | #include <NvInfer.h> | ^~~~~~~~~~~ compilation terminated. In file included from src/tensorRT/onnxplugin/plugins/ScatterND.cu:2: src/tensorRT/onnxplugin/onnxplugin.hpp:9:10: fatal error: NvInfer.h: No such file or directory 9 | #include <NvInfer.h> | ^~~~~~~~~~~ In file included from src/tensorRT/onnxplugin/plugins/DCNv2.cu:3: src/tensorRT/onnxplugin/onnxplugin.hpp:9:10: fatal error: NvInfer.h: No such file or directory 9 | #include <NvInfer.h> | ^~~~~~~~~~~ compilation terminated. compilation terminated. In file included from src/tensorRT/onnxplugin/plugins/HSwish.cu:2: src/tensorRT/onnxplugin/onnxplugin.hpp:9:10: fatal error: NvInfer.h: No such file or directory 9 | #include <NvInfer.h> | ^~~~~~~~~~~ compilation terminated. src/tensorRT/builder/trt_builder.cpp:6:10: fatal error: NvInfer.h: No such file or directory 6 | #include <NvInfer.h> | ^~~~~~~~~~~ compilation terminated. In file included from src/tensorRT/onnxplugin/plugins/HSigmoid.cu:2: src/tensorRT/onnxplugin/onnxplugin.hpp:9:10: fatal error: NvInfer.h: No such file or directory 9 | #include <NvInfer.h> | ^~~~~~~~~~~ compilation terminated. Compile CXX src/tensorRT/onnx_parser/onnx2trt_utils.cpp Compile CXX src/tensorRT/onnx_parser/NvOnnxParser.cpp Compile CXX src/tensorRT/onnx_parser/ShapeTensor.cpp Compile CXX src/tensorRT/onnx_parser/ModelImporter.cpp Compile CXX src/tensorRT/onnx_parser/RNNHelpers.cpp Compile CXX src/tensorRT/onnx_parser/onnxErrorRecorder.cpp Compile CXX src/tensorRT/onnx_parser/builtin_op_importers.cpp Compile CXX src/tensorRT/onnx_parser/LoopHelpers.cpp Compile CXX src/tensorRT/onnx_parser/OnnxAttrs.cpp Compile CXX src/tensorRT/onnx_parser/ShapedWeights.cpp Compile CXX src/tensorRT/common/trt_tensor.cpp Compile CXX src/tensorRT/common/cuda_tools.cpp Compile CXX src/tensorRT/common/ilogger.cpp Compile CXX src/tensorRT/common/json.cpp Compile CXX src/tensorRT/infer/trt_infer.cpp Compile CXX src/tensorRT/onnxplugin/onnxplugin.cpp In file included from src/tensorRT/onnx_parser/ShapeTensor.cpp:5: src/tensorRT/onnx_parser/ShapeTensor.hpp:7:10: fatal error: NvInfer.h: No such file or directory 7 | #include <NvInfer.h> | ^~~~~~~~~~~ compilation terminated. In file included from src/tensorRT/onnx_parser/NvOnnxParser.cpp:5: src/tensorRT/onnx_parser/NvOnnxParser.h:8:10: fatal error: NvInfer.h: No such file or directory 8 | #include "NvInfer.h" | ^~~~~~~~~~~ compilation terminated. In file included from src/tensorRT/onnx_parser/onnx2trt_utils.hpp:7, from src/tensorRT/onnx_parser/onnx2trt_utils.cpp:5: src/tensorRT/onnx_parser/ShapedWeights.hpp:7:10: fatal error: NvInfer.h: No such file or directory 7 | #include <NvInfer.h> | ^~~~~~~~~~~ compilation terminated. In file included from src/tensorRT/onnx_parser/onnx2trt.hpp:7, from src/tensorRT/onnx_parser/ImporterContext.hpp:7, from src/tensorRT/onnx_parser/ModelImporter.hpp:7, from src/tensorRT/onnx_parser/ModelImporter.cpp:5: src/tensorRT/onnx_parser/NvOnnxParser.h:8:10: fatal error: NvInfer.h: No such file or directory 8 | #include "NvInfer.h" | ^~~~~~~~~~~ compilation terminated. Compile CXX src/tensorRT/onnxplugin/plugin_binary_io.cpp In file included from src/tensorRT/onnx_parser/onnxErrorRecorder.cpp:5: src/tensorRT/onnx_parser/onnxErrorRecorder.hpp:7:10: fatal error: NvInferRuntimeCommon.h: No such file or directory 7 | #include "NvInferRuntimeCommon.h" | ^~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. In file included from src/tensorRT/onnx_parser/RNNHelpers.cpp:5: src/tensorRT/onnx_parser/RNNHelpers.hpp:7:10: fatal error: NvInfer.h: No such file or directory 7 | #include <NvInfer.h> | ^~~~~~~~~~~ compilation terminated. In file included from src/tensorRT/onnx_parser/LoopHelpers.cpp:5: src/tensorRT/onnx_parser/LoopHelpers.hpp:7:10: fatal error: NvInfer.h: No such file or directory 7 | #include <NvInfer.h> | ^~~~~~~~~~~ compilation terminated. In file included from src/tensorRT/onnx_parser/onnx2trt.hpp:7, from src/tensorRT/onnx_parser/builtin_op_importers.hpp:7, from src/tensorRT/onnx_parser/builtin_op_importers.cpp:5: src/tensorRT/onnx_parser/NvOnnxParser.h:8:10: fatal error: NvInfer.h: No such file or directory 8 | #include "NvInfer.h" | ^~~~~~~~~~~ compilation terminated. In file included from src/tensorRT/onnx_parser/OnnxAttrs.cpp:5: src/tensorRT/onnx_parser/OnnxAttrs.hpp:7:10: fatal error: NvInfer.h: No such file or directory 7 | #include <NvInfer.h> | ^~~~~~~~~~~ compilation terminated. In file included from src/tensorRT/onnx_parser/ShapedWeights.cpp:5: src/tensorRT/onnx_parser/ShapedWeights.hpp:7:10: fatal error: NvInfer.h: No such file or directory 7 | #include <NvInfer.h> | ^~~~~~~~~~~ compilation terminated. make: *** [Makefile:79: objs/tensorRT/onnx_parser/ShapeTensor.cpp.o] Error 1 make: *** Waiting for unfinished jobs.... make: *** [Makefile:79: objs/tensorRT/onnx_parser/onnx2trt_utils.cpp.o] Error 1 make: *** [Makefile:79: objs/tensorRT/onnx_parser/NvOnnxParser.cpp.o] Error 1 make: *** [Makefile:79: objs/tensorRT/onnx_parser/ModelImporter.cpp.o] Error 1 make: *** [Makefile:79: objs/tensorRT/onnx_parser/RNNHelpers.cpp.o] Error 1 make: *** [Makefile:79: objs/tensorRT/onnx_parser/onnxErrorRecorder.cpp.o] Error 1 make: *** [Makefile:79: objs/tensorRT/onnx_parser/builtin_op_importers.cpp.o] Error 1 make: *** [Makefile:79: objs/tensorRT/onnx_parser/LoopHelpers.cpp.o] Error 1 make: *** [Makefile:79: objs/tensorRT/onnx_parser/OnnxAttrs.cpp.o] Error 1 make: *** [Makefile:79: objs/tensorRT/onnx_parser/ShapedWeights.cpp.o] Error 1 In file included from src/tensorRT/onnxplugin/onnxplugin.cpp:2: src/tensorRT/onnxplugin/onnxplugin.hpp:9:10: fatal error: NvInfer.h: No such file or directory 9 | #include <NvInfer.h> | ^~~~~~~~~~~ compilation terminated. make: *** [Makefile:81: objs/tensorRT/onnxplugin/onnxplugin.cpp.o] Error 1 src/tensorRT/infer/trt_infer.cpp:6:10: fatal error: NvInfer.h: No such file or directory 6 | #include <NvInfer.h> | ^~~~~~~~~~~ compilation terminated. make: *** [Makefile:81: objs/tensorRT/infer/trt_infer.cpp.o] Error 1
最新发布
07-25
<think>嗯,用户遇到了编译TensorRT项目时的错误,报错信息显示多个文件中都找不到"NvInfer.h"头文件。这看起来是典型的开发环境配置问题。 用户应该是在Ubuntu系统下编译YOLOv8的TensorRT项目。从错误信息看,所有包含NvInfer.h的文件都编译失败,说明系统没有正确找到TensorRT的头文件路径。 这个问题可能有几个关键点需要考虑: 1. TensorRT的安装情况:用户是否完整安装了TensorRT开发包 2. 环境变量配置:特别是CPLUS_INCLUDE_PATH是否包含TensorRT头文件目录 3. Makefile配置:项目makefile是否正确定义了TensorRT头文件路径 4. 版本兼容性:TensorRT版本与项目要求的版本是否匹配 用户可能是个开发者,正在尝试部署YOLOv8模型到TensorRT环境。ta的终端路径显示在tensorRT_Pro-YOLOv8-main目录下,这应该是从GitHub克隆的某个开源项目。这类项目通常需要特定版本的TensorRT支持。 值得注意的是,错误信息中多次出现"NvInfer.h"缺失,但实际编译还报缺"NvInferRuntimeCommon.h",这说明整个TensorRT开发包的头文件可能都不在系统查找路径中。解决方案应该围绕如何让编译器找到这些头文件展开。 用户可能已经安装了TensorRT,但可能安装在了非标准路径,或者环境变量没有正确配置。另外也需要检查CUDA工具链的安装情况,因为TensorRT依赖CUDA。</think>编译错误是由于缺少 TensorRT 的头文件(`NvInfer.h`)导致的。以下是解决方案: ### 解决方法: 1. **确认 TensorRT 安装** 检查是否已正确安装 TensorRT: ```bash ls /usr/include/x86_64-linux-gnu | grep NvInfer ``` 2. **设置头文件路径** 在编译命令中添加 TensorRT 头文件路径(根据实际安装位置调整): ```bash # 示例路径(常见安装位置) export CPLUS_INCLUDE_PATH=/usr/include/x86_64-linux-gnu:$CPLUS_INCLUDE_PATH export CPLUS_INCLUDE_PATH=/path/to/TensorRT/include:$CPLUS_INCLUDE_PATH ``` 3. **验证环境变量** 确保路径生效: ```bash echo $CPLUS_INCLUDE_PATH ``` 4. **重新编译** 清理后重新编译: ```bash make clean && make rtdetr -j64 ``` ### 常见原因: - TensorRT 未安装或路径未配置 - 多版本 TensorRT 冲突 - Makefile 中缺少头文件路径声明
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值