我在使用require(tidyverse)
#> Loading required package: tidyverse
mylist <- lst(cars, diamonds)
mylist %>% pluck("cars") %>% typeof
#> [1] "list"
mylist %>% pluck("cars") %>% as.tibble() %>% typeof
#> [1] "list"
mylist %>% pluck("cars")[1]
#> Error in .[pluck("cars"), 1]: incorrect number of dimensions
mylist %>% pluck("cars")[[1]]
#> Error in .[[pluck("cars"), 1]]: incorrect number of subscripts
mylist %>% pluck("cars") %>% unlist() %>% typeof
#> [1] "double"
mylist %>% pluck("cars") %>% unnest() %>% typeof
#> [1] "list"
mylist %>% pluck("cars") %>% flatten %>% typeof
#> [1] "list"
使OpenCV-3.1.0(直接)工作时遇到了一些问题。我正在尝试构建TIAGo Simulation的工作区,但是我收到了错误。
当我使用g ++和flags构建测试文件(包含opencv函数)时,我没有遇到任何问题:
catkin build
如果我不使用旗帜,我会收到错误:
g++ -o test test.cpp ´pkg-config opencv --cflags --libs´
输出:
g++ -o test test.cpp
在构建使用catkin构建时使用OpenCV的TIAGo Simulation工作区时,情况也是如此。
尝试构建TIAGo模拟:
test.cpp:(.text+0x3e): undefined reference to `cv::imread(cv::String const&, int)'
输出(其中一个错误):
catkin build
因为错误非常相似,我认为可以通过将look_to_point.cpp:(.text+0xa6): undefined reference to `cv::imshow(cv::String const&, cv::_InputArray const&)'
添加到´pkg-config opencv --cflags --libs´
来解决。因为我对ROS,catkin和CMake都没有经验,所以我不知道如何实现这一目标。
如果有人想指出我正确的方向,我将非常感激。
答案 0 :(得分:0)
最好使用CMake为ROS构建软件包(即使你有单个源文件),最简单的方法就是命令catkin_create_package
(你的ROS可能会有所不同) Distro)并添加命令生成的CMakeList.txt
和Package.xml
中的所有库(几乎所有内容都在开头注释掉),以便稍后在ROS环境中找到并使用它。< / p>
这是我用过的一个例子然后当我对Catkin的经验较少In Github
答案 1 :(得分:0)
最终证明是OpenCV版本问题。
在我发现这是一个版本问题之前,我尝试将OpenCV库添加到每个需要它的包中,方法是在每个CMakeList.txt(有多个包)中编写它。