MPICH2Eclipse開發(fā)環(huán)境的配置小結(jié)_第1頁
MPICH2Eclipse開發(fā)環(huán)境的配置小結(jié)_第2頁
MPICH2Eclipse開發(fā)環(huán)境的配置小結(jié)_第3頁
MPICH2Eclipse開發(fā)環(huán)境的配置小結(jié)_第4頁
MPICH2Eclipse開發(fā)環(huán)境的配置小結(jié)_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、MPICH2Eclipse開發(fā)環(huán)境的配置小結(jié) Windows       為了兩個系統(tǒng)下保持一致,所以在windows平臺下沒有用VC,而是用的MinGW作為編譯器,MinGW的下載頁面在,大家可以只下載MinGW-5.0.2.exe和gdb-5.2.1-1.exe,MinGW-5.0.2.exe很小,啟動這個程序會到網(wǎng)絡(luò)上下載你要安裝的程序,我們這里只需要在安裝的過程中選擇g+和make文件下載安裝就可以了,但是調(diào)試用的gdb不在里面,需要單獨(dú)下載,也就是gdb-5.2.1-1.exe。MinGW的默認(rèn)安裝路徑是C:Min

2、GW,安裝完MinGW后需要執(zhí)行g(shù)db-5.2.1-1.exe,將gdb安裝到MinGW安裝的路徑中。然后,將MinGW目錄下的bin目錄里的mingw32-make.exe改名為make.exe,最后要為eclipse寫幾個環(huán)境變量,分別是:PATH = C:MinGWbin;%PATH%LIBRARY_PATH = C:MinGWlibC_INCLUDE_PATH = C:MinGWincludeCPLUS_INCLUDE_PATH = C:MinGWincludec+3.4.2;C:MinGWincludec+3.4.2mingw32;C:MinGWincludec+3.4.2backw

3、ard;C:MinGWinclude出現(xiàn)文件路徑的地方根據(jù)MinGW安裝的位置和具體版本號來修改即可。              為了能使用Eclipse,首先得安裝JDK,這個沒什么可說的,到下載一個安裝程序,一路next就ok了。Eclipse到下,解壓開壓縮包就能用。但要開發(fā)C/C+程序,還需要eclipse的插件CDT,還是到上下載,解開壓縮包。把features和plugins里的東西拷貝到eclipse下的features和plugins里就可以,重新啟動ecli

4、pse,如果能在新建項(xiàng)目里看到C和C+項(xiàng)目,就說明插件安裝成功了,如果沒有的話,就到eclipse的目錄下的configuration目錄里,把org.eclipse.update這個文件夾刪掉,重啟eclipse應(yīng)該就能用。       Eclipse里的C/C+項(xiàng)目分兩種,managed和standard。Managed不需要自己寫makefile,而standard需要手動寫makefile。因?yàn)楦杏Xmanaged不如standard靈活,所以我是用的standard項(xiàng)目,可以根據(jù)需要來定制自己的makefile?,F(xiàn)在我們來創(chuàng)建

5、一個新的C+項(xiàng)目,從菜單里選擇建立Standard MakeC+項(xiàng)目,一般除了項(xiàng)目名外只需要在binary parser里改為PE Windows Parser。       然后,添加一個源代碼文件,main.cpp,在里面寫上#include <iostream>using namespace std;int main(int argc, char *argv)       cout<<"Hello World!"<<endl

6、;    return 0;       向項(xiàng)目中添加一個文件,起名就叫makefile,然后在makefile里寫上all:main.cpp    g+ main.cpp -o main.exe注意第二行前面的空白部分是一個制表符,也就是Tab鍵,而不能是空格。Makefile的書寫方式就不多說了,感興趣的話還是找專門的教程來看吧。       然后回到eclipse的菜單,window-show view-mak

7、e targets。Eclipse里就會出現(xiàn)一個make targets的view窗口,我的是在右側(cè),有時候也可能是在下面出現(xiàn),使用的時候可以根據(jù)習(xí)慣任意拖放,然后鼠標(biāo)右鍵點(diǎn)剛才建立的項(xiàng)目,選擇add make target創(chuàng)建一個新的make目標(biāo)all點(diǎn)擊Create后在make targets的view里就會出現(xiàn)一個all目標(biāo)。直接雙擊all就能開始編譯項(xiàng)目了。如果在console和problem的view里沒有錯誤提示的話,就會在項(xiàng)目里出現(xiàn)一個main.exe的目標(biāo)程序。在main.exe的右鍵菜單里選擇Run as-Run local c/c+ application就能在consol

8、e里看到運(yùn)行的結(jié)果了。如果需要調(diào)試程序的話,就在編譯指令中加-g,如g+ -g main.cpp -o main.exe 要開發(fā)MPI程序,還需要MPI的頭文件和庫文件,分別在MPICH2的安裝目錄下的include和lib目錄中。本來按理說,在eclipse項(xiàng)目的屬性下的include path和project path里分別填上inlude文件和lib文件的路徑就應(yīng)當(dāng)可以用,但是我的eclipse卻怎么也不好使,說是找不到頭文件,也沒法鏈接,所以只好在makefile里動手腳,在g+的編譯命令里直接加上頭文件和庫文件的路徑。指定頭文件路徑用-I命令,如我將include文件放置在

9、項(xiàng)目文件夾下的./mpich2/include中,編譯指令就是g+ -I./mpich2/include -c main.cpp,注意I和路徑之間沒有空格。Lib文件同樣是在用編譯指令中指定,windows下需要cxxd.lib,cxx.lib,mpi.lib,其中cxxd.lib是用于調(diào)試,如果lib文件是放在./mpich2/lib中,指令中需要添加-L./mpich2/lib lcxxd lmpi,-L表示lib文件的位置,-l是具體要鏈接的庫名。完整的命令如g+ main.cpp -I./mpich2/include  -L./mpich2/lib -lcxxd -lmpi

10、-o main.exe在編譯MPI程序的時候可能會提示在mpicxx.h中有錯誤,問題出在下面這段代碼里,具體什么意思我也不太明白,但是察看linux版的同一文件的同一位置并沒有這段代碼,所以可以將這段注釋調(diào),就可以正常通過編譯,似乎對程序沒什么影響。#ifdef _GNUC_ # if _GNUC_ >= 0 #  if _GNUC_MINOR_ > 2 && 0 = 2 #  error 'Please use the same version of GCC for compiling MPICH2 and user MPI prog

11、rams'#  endif# endif     #endif另外還要在#include <mpi.h>之前加上#undef SEEK_SET#undef SEEK_END#undef SEEK_CUR以避免MPI-2中的一個bug,不然的話編譯器會報錯,或者在編譯命令的命令行里加上-DMPICH_IGNORE_CXX_SEEK。  Linux  Linux下Eclipse的使用方法基本與windows下一致,只是JDK的安裝有點(diǎn)不同。到上下載jdk的bin文件,如jdk-1_5_0_07-li

12、nux-i586.bin,添加這個文件的可執(zhí)行屬性,chmod a+x jdk-1_5_0_07-linux-i586.bin,然后就可以執(zhí)行這個文件./jdk-1_5_0_07-linux-i586.bin,這樣JDK就會將文件解壓縮到bin文件存放的當(dāng)前目錄,目錄名應(yīng)為jdk-1_5_0_07,然后將這個文件夾拷貝到作為JDK目錄的位置,比如我就是放在/usr/java下。這樣JDK的安裝目錄就是/usr/java/jdk-1_5_0_07,再就是添加環(huán)境變量,以root用戶編輯/etc/profile,在文件中添加如下三行,保存并重啟export JAVA_HOME=/usr/java/

13、jdk1.5.0_07export CLASSPATH=.:$JAVA_HOME/lib/tools.jarexport PATH=$JAVA_HOME/bin:$PATH這樣JDK就安裝好了,不出意外的話eclipse就能正常使用了。       關(guān)于include路徑和lib鏈接的問題也與windows下類似,linux下需要鏈接的庫是-lmpich,如g+ -lmpich main.cpp -o main.exe。        Linux下開發(fā)MPI的時候可

14、能會遇到幾個問題。第一個也是#undef SEEK_SET#undef SEEK_END#undef SEEK_CUR的問題,把這幾行放到#include <mpi.h>之前就行。第二個可能會在編譯鏈接的時候提示諸如undefined reference to pthread_getspecific'的錯誤,這是MPI用到了線程功能,解決方法是編譯的時候添加-lpthread,如g+ -lpthread main.cpp -o main.exe第三個問題是可能會遇到諸如./libmpich.a(ad_iwrite.o)(.text+0x155): In function ADIOI_GEN_aio&#

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論