我如何去编译一个没有链接的OpenCV程序

How would I go about compiling an OpenCV program WITHOUT linking?

本文关键字:链接 程序 OpenCV 一个 何去 编译      更新时间:2023-10-16

我已经取了"edge"示例文件,并将适当的源文件移动到目录中,在需要的地方更改#include(s),以说明目录结构,而不是与库一起设置。我们的目标是编写更可移植的一批代码来尝试一些事情。我想知道,给出链接器错误列表(许多未定义的这个和那个)。A,有没有可能用一种不需要链接的方式把所有的源都包含进去?如果是B,建议的路径是什么来找到哪些源文件有正确的代码来抵消我在链接时得到的所有未定义的东西?

我知道这是一个普遍的问题,但它需要一个普遍的答案,我还没有看到任何人在这里或其他地方回答这个问题。我认为这是完全可能的,OpenCV是BSD的,所有编译成库的源代码都是可用的,所以我想如果你的项目代码中有库的源代码,你可以跳过链接到外部库的步骤。非常感谢那些能帮助我或引导我走向正确方向的人,非常感谢。

如果您的项目需要完全开源代码,您可以做您想做的。当然,把你需要的东西从OpenCV中分离出来是一项艰巨的任务。为此,您需要手动定位包含丢失对象的文件。在微软资源管理器中,您可以使用"文件内部"查询来搜索,在linux控制台中,您可以使用"查找| grep"组合命令。

我有时在我的项目中移动源文件(opencv/modules/*/src)以自定义一些函数。我还保留了编译器放在第二优先级的链接库,它们变得不活跃,但它们仍然以原始形式存在,占用一些可忽略不计的无用mb。