【问题标题】:Linker error with Microsoft HPC Pack 2008 SDKMicrosoft HPC Pack 2008 SDK 的链接器错误
【发布时间】:2012-05-22 14:08:36
【问题描述】:

我尝试在 Windows 7 x64 中使用 OpenMP 和 MPI 编写程序。 我找到了教程,如何在 VS2010 中安装 MPI

http://msdn.microsoft.com/en-gb/library/ee441265.aspx#BKMK_debug1

但是,当我尝试编译解决方案时,出现链接器错误:

1>main.obj : error LNK2019: unresolved external symbol _MPI_Finalize@0 referenced in function _main
1>main.obj : error LNK2019: unresolved external symbol _MPI_Barrier@4 referenced in function _main
1>main.obj : error LNK2019: unresolved external symbol _MPI_Recv@28 referenced in function _main
1>main.obj : error LNK2019: unresolved external symbol _MPI_Ssend@24 referenced in function _main
1>main.obj : error LNK2019: unresolved external symbol _MPI_Comm_size@8 referenced in function _main
1>main.obj : error LNK2019: unresolved external symbol _MPI_Comm_rank@8 referenced in function _main
1>main.obj : error LNK2019: unresolved external symbol _MPI_Init@8 referenced in function _main

我可能需要安装其他东西吗?可能是 HPC Pack 2008 R2 Service Pack 2?

【问题讨论】:

    标签: c++ visual-studio-2010 mpi


    【解决方案1】:

    请务必查看您提供的链接中“在 Visual Studio 2010 中创建 C++ MPI 示例项目”部分下的第 3 步(“为项目指定其他属性”)

    错误通知您链接器找不到包含各种MPI* 函数定义的库。链接器设置(库目录(3c)和链接器->输入(3d))是为链接器指定使用哪些库以及在哪里找到它们的设置

    【讨论】:

    • 我的电脑有相同的路径。没问题,可能这个库包含在其他地方?
    • 链接器/输入/附加依赖项设置中有msmpi.lib 吗?如果是,您是否在“C:\Program Files\Microsoft HPC Pack 2008 SDK\Lib\i386”目录中有该文件?
    • 是的,但我使用 C:\Program Files\Microsoft HPC Pack 2008 SDK\Lib\amd64。使用 i386 一切正常
    • 我认为您的项目设置为 32 位应用程序(这就是为什么它适用于 i386amd64 文件夹中的 msmpi.lib 用于 64 位应用程序。按照说明操作在this page 上将您的项目设置为面向 64 位平台
    猜你喜欢
    • 2012-04-26
    • 1970-01-01
    • 1970-01-01
    • 2010-12-13
    • 2015-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多