如何构建OpenCV';我在Ubuntu中开发的单个模块(如遗留模块)?

如何构建OpenCV';我在Ubuntu中开发的单个模块(如遗留模块)?,opencv,ubuntu,Opencv,Ubuntu,我修改了OpenCV的legacy模块的一些源代码。我的项目是基于新的遗留模块编码的,我想调试它。我能想到的一种方法是使用我修改过的遗留源代码替换原始遗留模块,然后编译并重新安装整个OpenCV。我认为这种方式太浪费时间,其他模块(例如,imgproc,highgui等)没有任何更改,也不需要重新安装。我想一定有更简单的方法来解决它 我的开发环境是VIM和GDB和opencv2.4.13。我是linux-opencv的新手。如何在Ubuntu中构建OpenCV的单个模块?如果我想保留原有的旧模块

我修改了OpenCV的
legacy
模块的一些源代码。我的项目是基于新的遗留模块编码的,我想调试它。我能想到的一种方法是使用我修改过的遗留源代码替换原始遗留模块,然后编译并重新安装整个OpenCV。我认为这种方式太浪费时间,其他模块(例如,
imgproc
highgui
等)没有任何更改,也不需要重新安装。我想一定有更简单的方法来解决它


我的开发环境是
VIM
GDB
opencv2.4.13
。我是
linux-opencv
的新手。如何在Ubuntu中构建OpenCV的单个模块?如果我想保留原有的旧模块和新的旧模块以备其他使用,我应该怎么做?

有一种方法可以实际构建单个模块,而不必从头构建整个源代码。我猜您应该按照以下步骤在计算机中安装OpenCV

在OpenCV的遗留模块中进行修改后,您可以使用命令仅构建该模块

# Go to the build directory. If you followed the tutorial I shared then it is the release folder
cd release

# And build only the module you want to (For example, legacy model as in your case) 
make opencv_legacy    
sudo make install

有一种方法可以实际构建单个模块,而不必从头构建整个源代码。我猜您应该按照以下步骤在计算机中安装OpenCV

在OpenCV的遗留模块中进行修改后,您可以使用命令仅构建该模块

# Go to the build directory. If you followed the tutorial I shared then it is the release folder
cd release

# And build only the module you want to (For example, legacy model as in your case) 
make opencv_legacy    
sudo make install

我认为这不可行。有太多的依赖关系,你必须找出每一个要做的事情it@ArpitSolanki谢谢你的回答。你的意思是我必须重新安装整个opencv项目,即使我只做了一点修改。我不是100%确定,但我认为管理依赖性将非常困难。我怀疑你的假设,假设你构建了
highgui
imgproc
模块,包含文件将包含这些模块的包含路径,同样,当您构建
core
模块时,它将覆盖
cv2.hpp
。你可以做你想做的事,但不会顺利的。您可能需要手动编辑一些include文件并复制
。因此
文件也是如此。@ZdaR好的。我想我可能对opencv的构建和运行有一些误解。我将为不同的opencv源安装不同的版本,并为不同的应用程序更改环境变量。我认为这是最好的办法。我认为那不可行。有太多的依赖关系,你必须找出每一个要做的事情it@ArpitSolanki谢谢你的回答。你的意思是我必须重新安装整个opencv项目,即使我只做了一点修改。我不是100%确定,但我认为管理依赖性将非常困难。我怀疑你的假设,假设你构建了
highgui
imgproc
模块,包含文件将包含这些模块的包含路径,同样,当您构建
core
模块时,它将覆盖
cv2.hpp
。你可以做你想做的事,但不会顺利的。您可能需要手动编辑一些include文件并复制
。因此
文件也是如此。@ZdaR好的。我想我可能对opencv的构建和运行有一些误解。我将为不同的opencv源安装不同的版本,并为不同的应用程序更改环境变量。我认为这是最好的方法。:)我是否需要使用“sudo make install”将原始OpenCV安装到我的电脑上?或者我只需要直接执行make命令并替换遗留源代码,然后运行“make opencv_legacy&&sudo make install”?替换源代码,然后使用“make opencv_legacy&&sudo make install”命令生成。我是否需要使用“sudo make install”将原始opencv安装到我的电脑上?或者我只需要直接执行make命令并替换遗留源代码,然后运行“make opencv_legacy&&sudo make install”?替换源代码,然后使用命令“make opencv_legacy&&sudo make install”进行构建