首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >METIS:未定义的对`METIS_WPartGraphRecursive的引用

METIS:未定义的对`METIS_WPartGraphRecursive的引用
EN

Stack Overflow用户
提问于 2017-08-29 23:41:20
回答 1查看 932关注 0票数 0

我必须编译一个依赖于METIS库的软件,但是它的CMake是通过禁用所有需要METIS的地方来编写的。现在,我必须再次启用该代码,因此代码现在依赖于METIS。

我从源代码中安装了metis-5.1.0,并编写了一个CMake模块来查找它(实际上我使用了这一个)。我相应地修改了CMakeLists.txt,基本上添加了以下几行

代码语言:javascript
复制
find_package(METIS REQUIRED)
if (METIS_FOUND)
    include_directories(SYSTEM ${METIS_INCLUDE_PATH})
else (METIS_FOUND)
    message (SEND_ERROR "This application cannot compile without METIS")
endif (METIS_FOUND)

最后,

代码语言:javascript
复制
target_link_libraries(<my_executable> ${METIS_LIBRARIES})

在cmake之后,似乎一切都很好,因为cmake打印:

代码语言:javascript
复制
-- Found METIS: /usr/local/include  
-- METIS libraries /usr/local/lib/libmetis.a
...
-- Configuring done
-- Generating done
 -- Build files have been written to: <mylocation>

然而,在我运行make之后,我得到了

代码语言:javascript
复制
 undefined reference to `METIS_WPartGraphKway'
 undefined reference to `METIS_WPartGraphRecursive'

我该怎么解决呢?

编辑:作为附加信息,当我使用make VERBOSE=1编译时,链接器似乎会查找正确的库,因为它包含/usr/local/lib/libmetis.a,它对应于cmake指定的位置,并且也存在。此外,当我使用nm /usr/local/lib/libmetis.a查看库时,我看到:

代码语言:javascript
复制
00000000000001c0 T METIS_WPartGraphKway
00000000000009c0 T METIS_WPartGraphRecursive

P.S.:在Ubuntu17.04中,我尝试过使用metis-5.1.0,metis-4.0.3,并安装了sudo apt-get install libmetis-dev。在后一种情况下,我找到了libmetis.so而不是libmetis.a,但是在本例中,cmake正确地识别了这一点,链接器也正确地查找了它,但是在最后,我得到了相同的错误。

我还尝试了sudo apt-get install libmetis-dev,在Ubuntu14.04上安装了metis-5.1.0和metis-3.0.6,我也遇到了同样的问题。这似乎是一个难以解决的错误,因为许多人在METIS格式的此页中都会问同样的问题。

我还尝试在编译命令的末尾添加-lmetis,如建议的这里

作为附加信息,我在METIS源文件夹中做了一个grep WPartGraphKway。在5.1.0版本中,没有这样的字符串。在4.0.3版本中有。

EN

回答 1

Stack Overflow用户

发布于 2017-09-21 01:49:43

我解决了这个问题:

  • 我安装了metis-3.0
  • 我为我的软件运行cmake
  • 我运行make VERBOSE=1
  • 我复制正在打印的最后一个gcc命令
  • 我粘贴它,在命令-lmetis的末尾添加并执行命令

注意,如果我在metis-5.1.0中重复相同的操作,它就不能工作,而且我的错误与我在第一篇文章中所写的相同。

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

https://stackoverflow.com/questions/45949819

复制
相关文章

相似问题

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