LNK2019は外部シンボル_MPI_Initを解決できません。シンボルは関数_mainで参照されています

 vs2017でMPIを構成した後、操作に問題があります  

vs2017で既に構成されています


VC ++ディレクトリ->インクルードディレクトリ、追加:C:\ Program Files \ MPICH2 \インクルード
VC ++ディレクトリ->ライブラリディレクトリ、追加:C:\ Program Files \ MPICH2 \ lib
C / C ++->プリプロセッサ->プリプロセッサ定義、追加:MPICH_SKIP_MPICXX
C / C ++->コード生成->ランタイムライブラリ、選択:マルチスレッドデバッグ(/ MTd);リンカー-
>入力->追加の依存関係、追加: "mpi.lib;"

hellowordプログラムコード

int main(int argc, char *argv[])
// int argc;
// char *argv[];
{
	int myid, numprocs, namelen;
	char processor_name[MPI_MAX_PROCESSOR_NAME];

	MPI_Init(&argc, &argv); /* starts MPI */
	MPI_Comm_rank(MPI_COMM_WORLD, &myid); /* get current process id */
	MPI_Comm_size(MPI_COMM_WORLD, &numprocs); /* get number of processes */
	MPI_Get_processor_name(processor_name, &namelen);

	if (myid == 0) printf("number of processes: %d\n", numprocs);
	printf("%s: Hello world from process %d \n", processor_name, myid);

	MPI_Finalize();
	return 0;
	//system("pause");
}

 

実行エラー

解決策:

プロジェクトプロパティ->右上隅->構成マネージャー->アクティブソリューションプラットフォーム、x64を選択。

変更後、上記の手順に従って再構成するように注意してください

36件の元の記事を公開 19件の賞賛 20,000回以上の閲覧

おすすめ

転載: blog.csdn.net/GJ_007/article/details/105294251