我正在尝试使用Bazel来编译和分发基于OpenCV的C++代码,而我正面临着一个我无法解决的问题.
我在源代码上,在Ubuntu 16.04 LTS上构建并安装OpenCV 3.3,并支持CUDA(CUDA 8).我将它安装在标准目录/ usr/local中.
鉴于此,我使用此WORKSPACE文件创建了我的项目:
new_local_repository(
name = "opencv",
path = "/usr/local",
build_file = "opencv.BUILD",
)
Run Code Online (Sandbox Code Playgroud)
opencv.BUILD包含:
cc_library(
name = "opencv",
srcs = glob(["lib/*.so*"]),
hdrs = glob(["include/**/*.hpp"]),
includes = ["include"],
visibility = ["//visibility:public"],
linkstatic = 1,
)
Run Code Online (Sandbox Code Playgroud)
我可以在我自己的代码中使用它:
cc_binary(
name = "main",
srcs = ["main.cc"],
deps = [
"@opencv//:opencv"
],
)
Run Code Online (Sandbox Code Playgroud)
但是OpenCV中的一些源文件如下:
/usr/local/include/opencv2/flann/flann_base.hpp
包括来自同一目录的头文件,例如:
#include "general.h"
Run Code Online (Sandbox Code Playgroud)
当我使用Bazel构建时,我收到此错误:
ERROR: /home/damien/main/BUILD:1:1: C++ compilation of rule '//main:main' failed (Exit 1)
In file included from external/opencv/include/opencv2/flann.hpp:48:0,
from external/opencv/include/opencv2/opencv.hpp:62,
from main/main.cc:1:
external/opencv/include/opencv2/flann/flann_base.hpp:38:21: …Run Code Online (Sandbox Code Playgroud) 我使用 Spring Cloud Data Flow 设置一个读取 CSV 文件的流,使用自定义处理器对其进行转换并记录它:
stream create --name testsourcecsv --definition "file --mode=lines --directory=D:/toto/ --file.filename-pattern=adresses-28.csv --maxMessages=1000 | csvToMap --spring.cloud.stream.bindings.output.content-type=application/json | log --spring.cloud.stream.bindings.input.content-type=application/json" --deploy
Run Code Online (Sandbox Code Playgroud)
文件和 csvToMap 应用程序工作正常,但在日志应用程序中,对于每条记录,我都看到这种异常:
2019-12-03 11:32:46.500 ERROR 1328 --- [container-0-C-1] o.s.c.s.b.k.KafkaMessageChannelBinder$5 : Could not decode json type: adresses-28.csv for key: file_name
com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'adresses': was expecting ('true', 'false' or 'null')
at [Source: (byte[])"adresses-28.csv"; line: 1, column: 10]
at com.fasterxml.jackson.core.JsonParser._constructError(JsonParser.java:1804) ~[jackson-core-2.9.9.jar!/:2.9.9]
at com.fasterxml.jackson.core.base.ParserMinimalBase._reportError(ParserMinimalBase.java:703) ~[jackson-core-2.9.9.jar!/:2.9.9]
at com.fasterxml.jackson.core.json.UTF8StreamJsonParser._reportInvalidToken(UTF8StreamJsonParser.java:3532) ~[jackson-core-2.9.9.jar!/:2.9.9]
at com.fasterxml.jackson.core.json.UTF8StreamJsonParser._handleUnexpectedValue(UTF8StreamJsonParser.java:2627) ~[jackson-core-2.9.9.jar!/:2.9.9]
at com.fasterxml.jackson.core.json.UTF8StreamJsonParser._nextTokenNotInObject(UTF8StreamJsonParser.java:832) ~[jackson-core-2.9.9.jar!/:2.9.9]
at com.fasterxml.jackson.core.json.UTF8StreamJsonParser.nextToken(UTF8StreamJsonParser.java:729) ~[jackson-core-2.9.9.jar!/:2.9.9] …Run Code Online (Sandbox Code Playgroud) spring-cloud spring-cloud-stream spring-cloud-dataflow spring-cloud-stream-binder-kafka