2017-04-07 44 views
0

在Eclipse的C++ IDE中嘗試構建程序時,出現「make:*** [diffusionWeightsTest] Error 1」和「recipe for target'diffusionWeightsTest'failed」錯誤。在Ubuntu上使用Eclipse C++時出現makefile問題

diffusionWeightsTest: $(OBJS) $(USER_OBJS) 
    @echo 'Building target: [email protected]' 
    @echo 'Invoking: GCC C++ Linker' 
    g++ -o "diffusionWeightsTest" $(OBJS) $(USER_OBJS) $(LIBS) 
    @echo 'Finished building target: [email protected]' 
    @echo ' ' 

如果我創建一個新的HelloWorld C++工程和構建:如果我打開生成文件,下面的代碼塊與錯誤(具體而言,錯誤是@echo「:$ @建設目標」)牽連它,它似乎工作正常。除了連接GSL庫之外,除了複製我的.C和.H代碼文件(來自我的Windows機器,我最初編寫它們的地方)之外,我沒有做任何事情。

我想在虛擬Ubuntu Linux機器上使用Eclipse的IDE和GSL庫進行C++開發。我安裝了Oracle的JDK,GSL庫(遵循INSTALL指南)和Eclipse最新的C++ IDE。在我的程序的屬性中,我鏈接了gsl和gslcblas庫(右鍵單擊項目名稱>>屬性>> C/C++構建>>設置>> GCC C++鏈接器>>庫>>將gslcblas和gsl添加到庫(-l )),這樣Eclipse似乎可以識別代碼中的這些函數。

任何想法可能會導致此生成文件錯誤?

回答

0

實際上,只是想出了這一點。顯然,在將GSL庫鏈接到項目的過程中有特定的順序。您必須首先列出「gsl」,然後列出「gslcblas」。

因此,爲了澄清,在安裝GSL庫(從他們的網站下載軟件包,解壓縮它,在GSL文件夾內打開終端,./configure,make,sudo make install)之後,您必須將gsl和gslcblas庫鏈接到您的Eclipse項目。右鍵單擊Eclipse中的項目資源管理器中的項目名稱>>屬性>> C/C++構建>>設置>> GCC C++鏈接器>>庫>>將gsl和gslcblas添加到庫(-l)中。

但你必須先把gsl然後gslcblas。訂單很重要。否則你會得到上面的錯誤。

相關問題