- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在进行一项学术研究,基于 Fast-Downward 实现新的搜索算法,一个实现多个 Search Algorithms 的 C++ 开源以及许多搜索域和问题。还安装了Lab ,一个管理编译和运行脚本的 Python 包。
最近我试图包括 OpenCV ML 算法库,以便将这些算法集成到我的搜索算法中。
但是我在我的FD项目中包含一些库时鼓励了一些问题,并且无法使用FD编译OpenCV。
项目层次结构:
fast_downward
| -- benchmarks
| -- experiments
| -- lab
| -- misc
| -- src
| | -- preprocess
| | -- search
| | -- translate
| | -- VAL
| | -- ML
ML目录就是我要编译的新子目录
编译尝试:
在src/CMakeLists.txt
下:
include(ML/CMakeLists.txt)
add_subdirectory(ML)
但是编译失败。
老实说,我从未尝试过编辑 CMake
文件,而且我不知道该策略以及如何去做。
所以,我的问题是如何在我的主项目中集成 OpenCV 包/子文件夹(在我名为 ML 的项目中)?
编辑:
Distributor ID: Ubuntu
Description: Ubuntu 14.04 LTS
Release: 14.04
最佳答案
你不需要include(ML/CMakeLists.txt)
,add_subdirectory(ML)
应该在src/CMakeLists.txt
里面就够了.
现在,我们一般可以有两种情况:
这两种情况需要以稍微不同的方式处理。
让我们假设 OpenCV 安装在您系统的某处。然后在 src/ML/CMakeLists.txt
中你应该有如下几行:
find_package(OpenCV REQUIRED)
include_directories(${OpenCV_INCLUDE_DIRS})
add_executable(test ${YOUR_SOURCES} ${YOUR_HEADERS})
target_link_libraries(test ${OpenCV_LIBS})
这是为了生成一个可执行文件,但是如果你想生成一个库,你应该有 add_library(...)
而不是 add_executable(...)
.如果您需要 OpenCV 的特定组件,您应该使用 find_package(OpenCV REQUIRED COMPONENTS core imgproc ...)
请求它,当然还可以查阅 OpenCV 文档。请注意,您的 CMake 可能没有 FindOpenCV.cmake
脚本,因此您可能无法使用 find_package(OpenCV)
。在这种情况下,您需要从网上获取一个。还要查阅它的来源,因为它可能定义了包含包含和库的不同变量,这意味着可能会发生这种情况,而不是使用例如 target_link_libraries(test ${OpenCV_LIBS})
你应该使用 target_link_libraries(测试 ${OpenCV_LIBRARIES})
。
在这种情况下,我想您在系统的某个目录中有 OpenCV 包/源;请注意,在这种情况下您需要构建 OpenCV,apt-get 不会为您完成这项工作。在您的 src/ML/CMakeLists.txt
中,您将拥有类似的内容
ExternalProject_Add(my_opencv
CMAKE_ARGS -D BUILD_SHARED_LIBS=NO ...
CMAKE_INSTALL_PREFIX=${MY_OPENCV_INSTALLATION_DIR}
SOURCE_DIR ${PATH_TO_OPENCV_SRCS}
)
find_package(OpenCV REQUIRED)
include_directories(${OpenCV_INCLUDE_DIRS})
add_executable(test ${YOUR_SOURCES} ${YOUR_HEADERS})
target_link_libraries(test ${OpenCV_LIBS})
值得引用的资源有:
OpenCV intro: cmake
linking opencv libraries included as an external project via cmake
Configuring an c++ OpenCV project with Cmake
Could not find module FindOpenCV.cmake ( Error in configuration process)
CMake and OpenCV 3.0
sample FindOpenCV.cmake
关于python - 如何使用 Fast-Downward 编译 OpenCV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41519477/
例如,对于列表 {1,2,3,4},我必须比较 (1,2), (1,3), (1,4), (2,3), (2 ,4), (3,4)。普通 for 循环的方式是: for(i=0 ; i
Jamie Zawinski在他的 (1997) article "java sucks" 中使用了该术语好像你应该知道它的意思: I really hate the lack of downward
我正在进行一项学术研究,基于 Fast-Downward 实现新的搜索算法,一个实现多个 Search Algorithms 的 C++ 开源以及许多搜索域和问题。还安装了Lab ,一个管理编译和运行
使用 github link HTML代码 Processing Hello .btn { position: relative; paddin
这个问题在这里已经有了答案: My inline-block elements are not lining up properly (5 个答案) Why are these two inlin
为什么第二个 DIV 在使用 display: inline-block 时向下推? 这是我尝试过的代码。 HTML CSS .div1{ width: 400px; height:
到目前为止,我已经设法让我的页脚始终贴在底部,但是,我一直在努力让我的网页上的内容或图像将页脚向下推。我一直在尝试页脚的绝对、固定、相对位置,但无济于事,因为类“container2”中的内容继续位于
我的要求是固定宽度和高度的多个相邻内容可编辑 div(在溢出时滚动,因此最大高度)。 http://jsfiddle.net/3gut98sw/4/ 问题:溢出后,如果您在 div 内的书面文本之间按
我想避免在表格上进行子选择来比较两个时期以及趋势是否向下。 此选择获取一个周期内的百分比 SELECT user, (SUM(value1)/SUM(value2)) AS percentage1 F
概述: 我使用下面的 R 代码 制作了一系列 map ,我使用 Cowplot 包中的 plot_grid() 将绘图排列到一个绘图窗口中,使用下面的数据框称为 "QuercusRobur1" 和 "
我是一名优秀的程序员,十分优秀!