我試圖編譯一個軟件包,叫做FDMNES X射線吸收光譜建模MPI在Windows首次使用Visual Studio 2010和英特爾的試用版引用解析的外部符號MPI_INIT作曲家XE 2011 SP1,ifort結合Visual Fortran編譯器與英特爾Parrelel工作室2011年我曾設法讓所有使用ifort的64位版本編譯的目標文件,但是當涉及毛錢我收到被跟隨錯誤的文件鏈接:錯誤LNK2019:在功能
1>------ Build started: Project: Console2, Configuration: Release x64 ------
1>Linking...
1>main.obj : error LNK2019: unresolved external symbol MPI_INIT referenced in function MAIN__
1>main.obj : error LNK2019: unresolved external symbol MPI_COMM_SIZE referenced in function MAIN__
1>main.obj : error LNK2019: unresolved external symbol MPI_COMM_RANK referenced in function MAIN__
1>general.obj : error LNK2019: unresolved external symbol MPI_BCAST referenced in function RESEAU
1>potential.obj : error LNK2001: unresolved external symbol MPI_BCAST
1>main.obj : error LNK2001: unresolved external symbol MPI_BCAST
......etc
1>x64\Release\Console2.exe : fatal error LNK1120: 7 unresolved externals
1>
1>Build log written to "file://C:\Users\Arturo\Documents\Visual Studio 2010\Projects\Console2\Console2\x64\Release\BuildLog.htm"
1>Console2 - 18 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
我已經嘗試通過添加命令/ L「C:\ PathtoMPILibrary \」鏈接到64位英特爾MPI庫,以及MPICH2 64位庫,但無濟於事。我也嘗試使用此生成的文件,從包裝的mingw32用gmake命令運行:
#Make file for the fdmnes package
objects = main.obj clemf0.obj coabs.obj convolution.obj dirac.obj fdm.obj fprime.obj general.obj hubbard.obj lecture.obj mat.obj metric.obj minim.obj potential.obj scf.obj selec.obj spgroup.obj sphere.obj sub_util.obj tab_data.obj tddft.obj tensor.obj
compiler = mpif90 -O3 -c
fdmnes_mpi : $(objects)
mpif90 -o fdmnes_mpi $(objects)
main.obj : main.f
$(compiler) main.f
clemf0.obj : clemf0.f
$(compiler) clemf0.f
.....etc
但是當我運行gmake命令,我收到以下錯誤:
Intel(R) Visual Fortran Intel(R) 64 Compiler XE for applications running on Intel(R) 64,
Version 12.1.0.233 Build 20110811
Copyright (C) 1985-2011 Intel Corporation. All rights reserved.
ifort: error #10037: could not find 'link'
我已經用盡論壇,和我需要在64位窗口下使用MPI進行編譯。任何幫助將非常感謝!謝謝。
你已經發布的第一個錯誤消息表明編譯器發現的MPI頭文件(否則你會一直沒有經過編譯階段),鏈接器找不到實際的MPI庫。確保您的MPI庫已正確安裝,並且鏈接器提供了正確的路徑。 – 2012-07-19 17:43:08
您是否真的將庫添加到項目中?僅僅添加庫的路徑是不夠的,你必須指定它也需要鏈接。 – mathematician1975 2012-07-19 22:52:43