首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于QT、OpenCV和时的Libtorch错误

用于QT、OpenCV和时的Libtorch错误
EN

Stack Overflow用户
提问于 2022-06-07 14:37:50
回答 1查看 201关注 0票数 1

我试图在一个项目中使用lib手电筒、qt小部件、点云库(Pcl)和opencv。对于这个项目,我使用cmake列表。问题是,当我同时使用所有四个库时,lib手电会抛出错误。如果我使用lib手电筒,opencv和qt一切都很好,而且如果我使用pcl和opencv,一切也都很好。我得到的错误列在下面:

代码语言:javascript
复制
/libtorch/include/torch/csrc/jit/api/object.h: In member function ‘size_t torch::jit::Object::num_slots() const’:
/libtorch/include/torch/csrc/jit/api/object.h:173:28: error: expected unqualified-id before ‘(’ token 173 return _ivalue()->slots().size();
/libtorch/include/ATen/core/ivalue_inl.h: In member function ‘c10::intrusive_ptr c10::IValue::toCustomClass() const &’:
/libtorch/include/ATen/core/ivalue_inl.h:1642:3: error: expected unqualified-id before ‘(’ token
1642 | TORCH_CHECK(
/libtorch/include/ATen/core/ivalue_inl.h: In member function ‘c10::intrusive_ptr c10::IValue::toCustomClass() &&’:
/libtorch/include/ATen/core/ivalue_inl.h:1624:3: error: expected unqualified-id before ‘(’ token
1624 | TORCH_CHECK(
| ^~~~~~~~~~~
/libtorch/include/ATen/core/ivalue_inl.h:1419:36: error: expected unqualified-id before ‘)’ token
1419 | const std::vector& slots() const {

有谁知道为什么利布托尔会抛出这些错误吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-06-10 09:50:53

经过多次尝试,我成功地将这四个库绑定在一起,并使它们正常工作。即使在解决了原问题中提到的错误之后,仍有许多问题需要解决。我将简单地描述一下我所做的事情,如果有人要面对这个问题,就知道如何解决这个问题。由于具有相同名称的方法或结构,qt与lib手电之间存在许多冲突。

首先,我从代码中删除了所有的someLibrary::some_function()).,并在某个库调用的每个函数或结构(即)前面使用了范围解析操作符。

  1. ,我在共享库中添加了所有与lib手电相关的内容。这里应该注意到,库的CMakeLists.txt文件中提到的所有lib手电文件和目录都必须出现在主项目文件的CMakeLists.txt中.

  1. --上面提到的警卫--必须添加到使用lib手电的文件中。这样就可以从原来的问题中删除那些类似错误的错误。这些错误是由qt插槽与同名lib手电结构冲突造成的。

#undef插槽#包括 #include # Q_SLOTS

  1. 在一个类中添加了与lib手电相关的所有深度学习操作,每个操作前面都有静态关键字(因此我使它们具有静态函数)。然后像调用类中的任何其他静态方法一样调用这些操作:"className::libtorchOperation()".

  1. I必须将${TORCH_INCLUDE_DIRS}添加到CMakeLists文件的包含目录中,还必须在主CMakeLists.txt set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -luuid")中添加以下行。一个有帮助的链接是Here

这就是关于it...It,修正了原来问题中的错误,并将这四个框架结合在一起。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72533139

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档