首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >链接OpenMPI与libc++

链接OpenMPI与libc++
EN

Stack Overflow用户
提问于 2016-03-03 10:18:28
回答 1查看 137关注 0票数 0

我正在运行OpenSUSE 13.2,出于各种原因,我正在从事的一个项目需要OpenMPI与libc++而不是libstd++进行链接。

我已经尝试过设置以下环境变量:

代码语言:javascript
复制
CXX <path>/llvm-3.8/bin/clang++
CC <path>/llvm-3.8/bin/clang
OMPI_CC <path>/llvm-3.8/bin/clang
OMPI_CXX <path>/llvm-3.8/bin/clang++

但是,虽然这确实使用clang进行编译,但它仍然链接到libstdc++,这是通过在openmpi文件夹中的各种可执行文件上运行的以下命令确认的:

代码语言:javascript
复制
openmpi-1.10.2/bin > ldd vtc++
        linux-vdso.so.1 (0x00007ffc9f0ed000)
        libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007ffb1f2cd000)
        libm.so.6 => /lib64/libm.so.6 (0x00007ffb1efcb000)
        libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007ffb1edb4000)
        libc.so.6 => /lib64/libc.so.6 (0x00007ffb1ea0d000)
        /lib64/ld-linux-x86-64.so.2 (0x00007ffb1f611000)

和:

代码语言:javascript
复制
openmpi-1.10.2/bin > objdump -x vtc++ | grep NEEDED
  NEEDED               libstdc++.so.6
  NEEDED               libm.so.6
  NEEDED               libgcc_s.so.1
  NEEDED               libc.so.6

任何建议都非常感谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-03 16:07:38

感谢“祖兰”和“玛特”的帮助。

我的问题是,虽然我已经设置了正确的编译器,但我没有传递它的-stdlib=c++标志。要使用OpenMPI构建(特别是使用configure ),必须设置CFLAGSCXXFLAGS环境变量以包含-stdlib=libc++。我是通过prepend-path的一个模块文件来完成这个任务的。

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

https://stackoverflow.com/questions/35772544

复制
相关文章

相似问题

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