使用Qt和Cuda为Python构建OpenCV,在构建所有cmake目标时运行到LNK2019

2024-10-02 02:30:49 发布

您现在位置:Python中文网/ 问答频道 /正文

最近,除了Cuda支持之外,我一直在尝试使用Qt支持来构建OpenCV。 之前,我已经用Cuda成功且非常容易地构建了OpenCV,但Qt似乎并不像现在这样容易解决问题。 我使用OpenCV版本4.5.2与Cuda一起构建了它,所以我尝试使用Qt执行相同的操作,但遇到了类似于this issue的错误

因此,接下来我尝试使用最新版本,该版本据称解决了这个问题,克隆了master branch,遇到了无数问题,甚至不知道从哪里开始考虑这些问题(都与stdio.h有关;奇怪的基本错误,例如所谓的stdio.h中的语法错误)

决定放弃这一点,再次尝试4.5.2,我可以让OpenCV自己构建(不启用Cuda或Qt只是为了看看它是否能工作),让OpenCV与Cuda一起构建,但在运行cmake的构建时,所有Qt都会产生以下错误

LNK2019    unresolved external symbol "int __cdecl cv::pollKey(void)" (?pollKey@cv@@YAHXZ) referenced in function "struct _object * __cdecl pyopencv_cv_pollKey(struct _object *,struct _object *,struct _object *)" (?pyopencv_cv_pollKey@@YAPEAU_object@@PEAU1@00@Z)    \build\modules\python3\cv2.obj

我一直找不到任何关于这个的相关信息,我遇到过一些关于这个错误的帖子,这些帖子来自人们,包括他们项目中的一些OpenCV,不包括必要的库等等,但是没有人试图构建这个东西本身

我也曾考虑过替换我的4.5.2版本中解决上述问题的文件,因为更改似乎不大,这解决了我以前使用4.5.2和Qt时遇到的问题。 我尝试的另一件事是自己安装Qt,并尝试将其用作cmake中的qt5dir,但这也不起作用(与通过pip安装Qt相反)

在这一点上,我已经走到了尽头,我不知道还有什么可以尝试,也不知道该转向哪里,希望有人已经有了一些经验。 以下是一些相关信息:

最后,我想说,我以前从未处理过cmake或构建过任何类型的二进制文件,所以这是我第一次遇到这样的世界


Tags: 版本cmake信息object错误qtopencvcv
1条回答
网友
1楼 · 发布于 2024-10-02 02:30:49

设置HAVE_WIN32UI=, 很明显,启用QT&;由于编译时排除,上述标志一起导致生成中出现一些问题。假设您的用例不需要上述标志。我也有同样的问题,现在已经解决了

相关问题 更多 >

    热门问题