1. 程式人生 > >mpich2在win7的64位執行出現的問題C/C++語言

mpich2在win7的64位執行出現的問題C/C++語言

近期用mpi寫程式,遇到了若干問題,首先當然是編譯程式時候忘記了新增庫檔案,所以出現了

(1)找不到包括檔案:mpi.h

(2)無法解析的外部符號_MPI_Barrier等類似的問題.

關於問題1當然是在屬性中新增include lib資料夾路徑,對應方法如下:

轉載自:http://blog.sina.com.cn/s/blog_79489160010145wb.html

1. 新增編譯所需要的 lib 檔案

[解決方案資源管理器]“專案->屬性->配置屬性->聯結器->輸入->附加依賴項”裡填寫“winsock.lib”,多個 lib 以空格隔開。
(等同於“#pragma comment(lib, "winsock.lib") ”語句)

2. 新增庫(Libs)檔案目錄

方法 1:[解決方案資源管理器]“專案->屬性->配置屬性->聯結器->常規->附加庫目錄”
方法 2:[選單]“工具->選項->專案和解決方案->C++ 目錄”,選擇對應平臺,然後新增所需“庫檔案”目錄

3. 新增包含(include)檔案目錄

方法 1:[解決方案資源管理器]“專案->屬性->配置屬性->C/C++->常規->附加包含目錄”
方法 2:[選單]“工具->選項->專案和解決方案->C++ 目錄”,選擇對應平臺,然後新增所需“包括檔案”目錄

問題2其實是因為沒有新增上mpi.lib,解決辦法同上1,在程式預編譯頭部新增#pragma comment(lib,"mpi.lib")即可

當編譯沒有問題成功生成.exe檔案後,執行wmpiexec.exe,提示

Credentials for host rejected connecting to 3SLIGK1IP7U7PO5
Aborting: Unable to connect to 3SLIGK1IP7U7PO5

這個問題經過多方查詢後,是沒有用管理員身份執行程式帶來的註冊的問題,不能連線到主機,許可權問題。

所以用下面的方法嘗試(但是這個方法並沒有解決我的問題,具體可以看下面加大的字型,不過我還是建議安裝的時候用命令列管理員賬號來安裝):

轉載自:http://blog.csdn.net/g_spider/article/details/5764386

首先下載一個最新的mpich2:

接著是安裝,用命令列安裝(推薦),且看下面的郵件對白,嘿嘿:

Hi, Very thanks for your response.
I reinstalled the MPICH2 by the steps that you say to me.
After the installation I try to run a non-MPI program (mpiexec -n 2
hostname) and I have the same error:
I have the output:
Please specify an authentication passphrase for smpd:
I write the authentication passphrase and the system response to me:
Aborting: unable to connect to User-PC
Very thanks.
I will thanks any help.
Yessica Brinkmann

2010/5/25  <jayesh at mcs.anl.gov>:
> Hi,
>  I would recommend uninstalling MPICH2 and installing it again from the administrator command prompt by following the steps below.
>>> # Open an administrator command prompt (Right-click on the command prompt icon and select "Run as administrator")
> # From the admin command prompt use the msiexec utility to uninstall MPICH2 (eg: Type "msiexec /x mpich2-1.2.1p1-win-ia32.msi" to uninstall MPICH2 using the mpich2-1.2.1p1-win-ia32.msi installer)
> # The above command will bring up the Installer GUI to uninstall MPICH2. Follow the steps to uninstall MPICH2.
> # From the admin command prompt use the msiexec utility to install MPICH2 (eg: Type "msiexec /i mpich2-1.2.1p1-win-ia32.msi" to install MPICH2 using the mpich2-1.2.1p1-win-ia32.msi installer)
> # The above command will bring up the Installer GUI to install MPICH2. Follow the installer steps to install MPICH2.
> # After the installation try to run a non-MPI program (mpiexec -n 2 hostname) . If the job launcher, mpiexec, requests for a username/password please provide the same (When specifying the username/password make sure that you specify the domain name if the user is a domain user).
>>  Let us know the results.
>> Regards,
> Jayesh

看看紅色的部分,就知道:

首先開啟附件,找到命令提示符圖示,點右鍵,選擇以管理員身份執行(注意一定要在管理員許可權下才行,這也是我這幾天鬱悶的心結!!).

接著輸入命令msiexec去解除安裝或安裝mpich2包。

比如你剛才下載的mpich2-1.2.1p1-win-ia32.msi   檔案放在e盤根目錄下,則

msiexec  /i  e:/mpich2-1.2.1p1-win-ia32.msi  這樣就可以完成管理員許可權下的mpich2安裝,執行安裝過程中的,只需預設(路徑也不要改,這樣省心不少)下一步下一步,,直到完成。。


不知道是哪個大牛回覆他的,膜拜~
他還舉了個例子,寫了個指令碼,執行的截圖也有,想具體看的請看他原文,我就不列舉啦~~

額,但是我這麼做了還是不行。最後查詢的結果是我使用wmpiregister.exe時註冊的賬號有誤,一定要註冊管理員帳號才行。即註冊的賬號一定要和作業系統的管理員賬號密碼相同,即Administrator的賬號和密碼。

但是我的管理員賬號沒有密碼不能成功註冊,最後無奈,只能給Administrator添加了密碼。

就此,成功註冊使用!坑爹的win7管理員賬號。。。

相關推薦

mpich2在win7的64執行出現的問題C/C++語言

近期用mpi寫程式,遇到了若干問題,首先當然是編譯程式時候忘記了新增庫檔案,所以出現了 (1)找不到包括檔案:mpi.h (2)無法解析的外部符號_MPI_Barrier等類似的問題. 關於問題1當然是在屬性中新增include lib資料夾路徑,對應方法如下: 轉載自:

制轉換(c語言

#include <stdio.h> #include <stdlib.h> void change(int n) { if (n == 0) return; else { // change(n / 8);

Linux學習之編譯執行.c(C語言)檔案

在Linux命令列介面下,建立檔案hello.c,進入vim編輯器,編輯一個簡單的C語言檔案  分解C語言檔案執行過程,要經過預編譯、編譯、彙編、連線四個步驟後才能執行, 預編譯:gcc -E hello.c -o hello.i     先

C#自然語言處理2-識別語音並執行程序

程式例項:解析語音,開啟記事本,visual studio或瀏覽器(本例開啟的是chrome)。 可以擴充套件為執行其他任務,修改開啟程序的程式碼即可。   ...   public partial class Form1 : Form     {

#資料結構與演算法學習筆記#劍指Offer29:整數中1出現的次數 + 分段思想/按考慮 + 測試用例(Java、C/C++)

2018.10.5 感受到開學之後工作和課業的雙重壓力,加上近段時間自己出了點小事故,因此斷更了許久。沒事,繼續。 這道題有兩種複雜度為的演算法。 方法1:遞迴(分段思想)。 所有數字出現1的個數 = 每一段數字中出現1的個數之和 1. 對於輸出的數字n,其最高位為

react-native 在新版Xcode(10+)中執行出現的問題: node_modules/react-native/third-party/glog-0.3.4 , C compiler ca

解決方法是: github 問題地址  https://github.com/facebook/react-native/issues/19774 I had the same issue bu

ubuntu下編寫並執行第一個c語言程式

對於初入Ubantu系統的小夥伴來說,進入Ubuntu最想做的事莫過於在終端(Terminal)裡執行自己的第一個C/C++程式"hello.c/hello.cpp"了。 Ubuntu預設是不包含編輯器vim和編譯器gcc。如果你是剛安裝好的Ubuntu電腦,下面我們將

執行緒池 --- C語言收集

程式碼1 C 語言實現執行緒池,支援動態拓展和銷燬 https://www.oschina.net/code/snippet_1178986_48128 C-socket編-執行緒池 https://blog.csdn.net/wwzhang0307/article/detail

資料結構 棧的應用任意進制轉換(c語言實現)

#include "stdlib.h" #include "stdio.h" typedef struct Stack{ int *base; int *top; int stacksize;

提高C/C++執行效率以及避免出現Bug的20種方法

這是在工作和學習中總結的有關於提高C/C++執行效率以及避免出現Bug的幾種常見的實用方法,當然還有許多更有效的方式有待進一步的探索。 1、若可以替代的話,儘可能使用字首操作符代替字尾操作符,如利用++i來代替i++,因為字尾操作符會產生一個臨時變數,並且涉及

使用arm-none-linux-gnueabi-gcc –o hello hello.c編譯完成,在ARM上執行出現報錯:

問題: 使用arm-none-linux-gnueabi-gcc –o hello hello.c編譯完成,在ARM上執行出現報錯: -sh: ./hello: No such file or directory 原因: 因為我們的程式使用的是動態連結方式編譯的,而A

C/C++語言測試函式執行時間多種方法詳解

方法一:目前,存在著各種計時函式,一般的處理都是先呼叫計時函式,記下當前時間tstart,然後處理一段程式,再呼叫計時函式,記下處理後的時間tend,再tend和tstart做差,就可以得到程式的執行時間,但是各種計時函式的精度不一樣.下面對各種計時函式,做些簡

如何執行第一個C|C++語言程式

前言 我發現很多剛開始學習C或者C++的新人都會找執行程式的軟體,然後不同的人會推薦不同的軟體, 併為此爭論誰優誰劣,最後好不容易下載一個軟體下來,又會發現各種執行問題。 所以我就寫了這篇 文章,有人再問的時候就把連結甩給他,讓他一步一步跟著做。 這篇

C/C++語言實現十進位制正整數轉化為2-16進制的數並輸出

<h3>/<span style="font-size:18px;">/將一個十進位制的正整數轉化為H進位制並輸出--拓展 在此先研究對於正整數的進位制轉換 以及2-16的進位制與十進位制的轉換 #include <IOSTREAM> using namespace s

計算火車執行時間(c語言

本題要求根據火車的出發時間和達到時間,編寫程式計算整個旅途所用的時間。 輸入格式: 輸入在一行中給出2個4位正整數,其間以空格分隔,分別表示火車的出發時間和到達時間。每個時間的格式為2位小時數(00-23)和2位分鐘數(00-59),假設出發和到達在同一天內。 輸出格式: 在一行輸出該旅途所用的時間,格式為

奪命雷公狗C/C++-----1---語言數據類型和常見32關鍵字

字符 log c/c++ 常見 分享 並且 所有 nio stat 重點提示: C語言中嚴格區分大小寫 數據類型如下所示: 32個關鍵字如下所示: auto--------這個這個關鍵字用於聲明變量的生存期為自動,即將不在任何類、結構、枚舉、聯合和函數中

MSScriptControl詳解(可實現在C#等語言中調用JAVASCRIPT代碼)

組件 類型 microsoft mem 自動提示 事件 controls 示例 程序 ScriptControl接口 屬性名稱 類型 備註 AllowUI BOOL 檢測是否允許運行用戶的接口

C語言學習筆記 (003) - C/C++中的實參和形參(轉)

變化 避免 影響 學習筆記 ++ nbsp 過去 情況 真的 今天突然看到一道關於形參和實參的題,我居然不求甚解。藐視過去在我的腦海裏只有一個參數的概念,對於形參和實參的區別還真的不知道,作為學習了幾年C++的人來說,真的深深感覺對不起自己對不起C++老師 T。T 我

C/C++的64整型

vc6.0 gcc c/c++ 有一種 mage 兼容性 bsp tro 定義 64位整型,一種數據類型! 【定義方式】 long long a; _int64 a; 【標準輸出方式】 printf("%lld",a); printf("%I64d",a); cout &l