Eclipse+Qt開發環境設定(Linux和Win)

來源:互聯網
上載者:User

標籤:rar   cal   resize   環境變數   roo   無法   parse   dir   arch   

文章摘要:
  • Windows,Linux平台下安裝使用Eclipse + QT4.4.3開發環境
  • Windows,Linux建立project時的配置(不使用QT預置項目類型,而是手工配置)
使用Eclipse開發平台的原因:由於要在Windows/Linux上開發,希望統一開發工具.以前開發QT3時,介面開發使用QT內建的designer, 程式也可以在Designer裡面全部完成.有時也用一些輕量級的編輯工具,如Windows下FlexEdit(www.xuyibo.org下載,相當不錯,尤其是自動分析C++源檔案中的類,方法,快速導航功能極方便),Linux下的vi(不論何時,VI是不能忘記的,尤其是出差時,Linux/Unix下唯一能保證有的就是它了).後來使用SlickEdit開發工具,分析代碼與寫代碼都相當方便.與QT Designer配合使用真的是很方便. Qt4的出現,Qt Designer的功能大大減低,需要新的整合開發工具.在Windows下,VS2005+Visual Assist X + QT也是相當方便的,只是無法跨平台.所以趁著學QT4的,試試Eclipse整合開發工具.     Windows平台安裝 (Eclipse , c++, qt4, fortran)
  • 所需檔案:

DEV-CPP4.9.9.2.exe --> 要用其整合的MinGW開發環境(make and g++)
qt-win-opensource-4.4.3-mingw.exe --> QT的開源版本
eclipse-cpp-ganymede-SR1-win32.zip   --> 整合了CDT外掛程式的Eclipse
qt-eclipse-integration-win32-1.4.0.exe   --> 把QT整合到Eclipse中去的.

  • 安裝過程

DEV-CPP4.9.9.2.exe安裝到C:\Qt\dev-cpp目錄
qt-win-opensource-4.4.3-mingw.exe安裝到C:\Qt\4.4.3目錄 (安裝過程需要指定MinGW的位置,把預設的C:\MinGW改為C:\Qt\dev-cpp即可)
eclipse-cpp-ganymede-SR1-win32.zip 直接解壓到C:\Eclipse即可 (需要安裝jre環境後才能運行,本人用1.6)
qt-eclipse-integration-win32-1.4.0.exe 安裝過程中需要指定Eclipse與MinGW的位置,按上面的實際安裝目錄修改.安裝到C:\Qt\Trolltech\Eclipse

  • 編輯運行QT4程式

命令列編譯與運行QT程式,有三種方法:

法一: 需要通過"開始"->"程式"->"Qt by Nokia v4.4.3 (OpenSource)" ->"Qt 4.4.3 Command Prompt" 開啟DOS命令列視窗,再編譯運行;
法二: 開啟任意一個Dos視窗, 執行一下 C:\Qt\4.4.3\bin/qtvars.bat ,設定相應環境變數.
法三: 修改系統內容變數:
      建立環境變數 QTDIR, 值為 C:\Qt\4.4.3
      建立環境變數 QMAKESPEC, 值為 win32-g++
      修改原path變數, 在原值最前面增加 C:\Qt\4.4.3\bin;C:\Qt\DEV-CPP\bin;%SystemRoot%\System32;
原始碼編輯工具可以使用dev-c++, Editplus, FlexEdit等

使用Eclipse編輯,編譯,運行

這裡要注意, 安裝qt-eclipse-integration-win32-1.4.0.exe自動產生的開始功能表項目"Qt Eclipse Integration v1.4.0" -> "Start Eclipse with MinGW" 有問題. 需要編輯C:\Qt\Trolltech\Eclipse\start.bat,把QT需要的環境變數設定語句加入,完整的如下:

echo Setting up a MinGW/Qt only environment... 
echo -- QTDIR set to C:\Qt\4.4.3
echo -- PATH set to C:\Qt\4.4.3\bin
echo -- Adding C:\Qt\DEV-CPP\bin to PATH
echo -- Adding %SystemRoot%\System32 to PATH
echo -- QMAKESPEC set to win32-g++
set QTDIR=C:\Qt\4.4.3 
set PATH=C:\Qt\4.4.3\bin
set PATH=%PATH%;C:\Qt\DEV-CPP\bin
set PATH=%PATH%;%SystemRoot%\System32
set QMAKESPEC=win32-g++
echo Starting eclipse... 
call "C:\Eclipse\eclipse.exe" -clean

      啟動Eclipse後, "File" -> "new" -> "other" ,選擇QT下面的某一個項目,如"QT Console project"或"QT GUI project", 然後指定項目名, 就可以使用菜單"project" ->"build all"進行編譯了. 預設情況下產生debug格式.
      運行,需要產生回合組態. "run" -> "run configurations..."   , 雙擊"C++ local application"在下面產生一個新的配置"new_configuration", 在右側點"project"後的"browse..."選擇剛才建立的項目名, 點"c/c++ application"後"search project..." 找到可執行檔, 然後就可以點擊"run"運行了. (注意, 如果上面建立的是qt console project, 需要在建立項目後, 點"project" ->"properties" , 雙擊左側"c/c++ Make project" , 然後在右側選擇"binary parser"標籤, 選中"elf parse"與"pe windows parser". 否則在"search project..." 時會找不到可執行檔. )

  • 讓eclipse支援fortran:

下載photran40b4-master.zip
啟動eclipse, 菜單"help" -> "software updates" ,選中"Available Software"標籤, "Add Site..." , 在彈出的對話方塊中點"Archive...", 找到硬碟上的photran40b4-master.zip,按提示完成安裝,重啟eclipse,就發現在File,New時多了對Fortran的支援.

   Linux平台安裝 (Eclipse ,c++, qt4, fortran) 
  • 安裝JDK1.6.bin,並配置環境變數.

安裝目錄/data/opt/jdk1.6.0_01
修改/etc/profile, 在最後添加java的環境變數:

JAVA_HOME=/data/opt/jdk1.6.0_01 
JAVA_BIN=/data/opt/jdk1.6.0_01/bin
PATH=$PATH:$JAVA_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME JAVA_BIN PATH CLASSPATH

  • 安裝Eclipse
解壓eclipse-cpp-ganymede-SR1-linux-gtk.tar.gz到/data/opt/下
  • 編譯安裝Qt

$tar jxvf qt-x11-opensource-src-4.4.3.tar.bz2
$cd qt-x11-opensource-src-4.4.3
$./configure -prefix /data/opt/qt-4.4.3   -no-libtiff
$make && make install
$vi /data/opt/qt-4.4.3/setqt4 (以後在需要編譯QT程式時,執行source setqt4就可以設定好環境變數)
 export QTDIR=/data/opt/qt-4.4.3
 export PATH=$QTDIR/bin:$PATH
 export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

  • 讓Eclipse整合QT
 
$cd /data/opt/eclipse
$tar zxvf qt-eclipse-integration-linux.x86-gcc3.3-1.4.0.tar.gz
  • 讓Eclipse整合fortran支援,方法與Windows下相同, 使用的檔案也相同

 

  • ­安裝apache2,mysql5,php5,svn伺服器

 

  • 安裝slickedit, matlab7
    Windows平台,Eclipse中編寫QT程式 
  • 在Eclipse中編寫一般C++程式
    • file->new ->other ->展開C++下的C++ Project ->不選中"Show project types and toolchains only if they are ssupported on the platform" ->Project Type="Executable"下的"Empty Project", ToolChains="MinGW GCC"
    • 編寫檔案或匯入現有檔案(File -> import ->General 下的 File system)
    • projects -> properties, 展開c/c++ Build,settings,在右側tab頁中選中"Binary Parsers", 應該有兩項是選中的"PE Windows Parser"與"cygwin PE Parser" (預設產生的未選中"cygwin PE Parser"項,造成在下一步產生回合組態時無法自動找到exe)
    • 產生回合組態. "run" -> "run configurations..."   , 雙擊"C++ local application"在下面產生一個新的配置"new_configuration", 在右側點"project"後的"browse..."選擇剛才建立的項目名, 點"c/c++ application"後"search project..." 找到可執行檔, 然後就可以點擊"run"運行了.

 

  • 匯入有pro檔案的Qt項目到Eclipse中
file -> import -> 選擇qt下qt project ->選擇一個QT的專案檔(xx.pro),就產生一個與原project同名的eclipse項目.但"產生回合組態"還是要做的,之後就可以編譯與運行了.
  • ­一般C++ Project如何增加對QT的支援
file, new, c++ project => Project type選擇"Executable"下的"Empty Project",不選中"Show project types and toolchains only if they are ssupported on the platform",然後在右側的"Tool Chains"選擇"MinGW GCC",然後點擊"next", 在彈出的對話方塊中點擊"Advanced settings",展開"c/c++ build" -> "settings",在右側展開"gcc c++ compiler","Directories", 右側"include pathes" , 瀏覽添加C:\Qt\4.4.3\include;展開"GCC C++ Linker","Libraries",在Libraries(-l)中添加三次,分別添加QtCored4, QtGuid4, qtmaind;在"Library search path"添加 C:\Qt\4.4.3\lib; 建立Source File, 輸入代碼,就可以正常編譯了. 測試代碼:
#include <QtGui/QApplication> 
#include <QtGui/QPushButton>int main(int argc, char *argv[]) 

    QApplication app(argc, argv);    QPushButton hello("Hello world!"); 
    hello.resize(100, 30);    hello.show(); 
    return app.exec(); 
}
測試代碼二:
// myclass.h 
#ifndef MYCLASS_H_ 
#define MYCLASS_H_ 
#include <QtCore/QString> 
#include <QtCore/QObject>class MyClass : public QObject 

    public: 
    MyClass( const QString& text, QObject *parent = 0 ); 
    const QString& text() ; 
    void setText( const QString& text ); 
    int getLengthOfText() ; 
private: 
    QString m_text; 
};#endif /* MYCLASS_H_ */ 
// myclass.cpp 
#include "myclass.h"MyClass::MyClass( const QString &text, QObject *parent ) : QObject( parent ) 

    m_text = text; 

const QString &MyClass::text() { return m_text; } 
void MyClass::setText( const QString &text ) { m_text = text; } 
int MyClass::getLengthOfText() { return m_text.size(); }
// main.cpp#include "myclass.h" 
#include <QtCore/QtDebug>int main( int argc, char **argv ) 

    QObject parent; 
    MyClass *a, *b, *c;    a = new MyClass( "foo", &parent ); 
    b = new MyClass( "ba-a-ar", &parent ); 
    c = new MyClass( "baz", &parent );    qDebug() << a->text() << " (" << a->getLengthOfText() << ")"; 
    a->setText( b->text() ); 
    qDebug() << a->text() << " (" << a->getLengthOfText() << ")";    return a->getLengthOfText() - c->getLengthOfText(); 
}

至此,在Windows平台上編譯運行QT4程式的設定已經完成,後面就是實際的編程了.

 

 

Linux平台,Eclipse開發Qt4程式

  • $source /data/opt/qt-4.4.3/setqt4 設定環境變數

export QTDIR=/data/opt/qt- 
export PATH=$QTDIR/bin:$PATH 
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

  • 然後啟動Eclipse

 

  • 建立項目,類型為C++ 下“C++ Project" => project type = "executable"下"Empty Project" , Toolchains="Linux Gcc" =>點Next =>點"Advanced settings" => 展開"c/c++ build" -> "settings",在右側展開"gcc c++ compiler","Directories", 右側"include pathes" , 瀏覽添加/data/opt/qt/4.4.3/include;   => 展開"GCC C++ Linker","Libraries",在Libraries(-l)中添加兩次,分別添加QtCore, QtGui ; ==> 在"Library search path"添加/data/opt/qt/4.4.3/lib

 

  • 建立Source File, 輸入代碼,就可以正常編譯了. 

 

    • 可能問題:
      • 如果在進入Eclipse前,沒有設定環境變數LD_LIBRARY_PATH,則項目能編譯,但運行時提示找不到Qt的動態連結程式庫而失敗。
      • 一般教材上寫檔案包含是 #include <QtDebug>,但由於上面我們添加的include中只添加了qt下的include這一級目錄,沒有添加下面的子目錄,所以寫代碼時要自己根據庫檔案所在子目錄,添加所屬包名,即變為#include <QtCore/QtDebug>, 否則在編譯時間會提示找到標頭檔。
      • 第三步只是示範了如何從一般c/c++項目,通過添加配置而變成支援QT,實際開發過程是,在建立項目時,可以選擇QT下的各種QT項目(如Qt Console Project, Qt Gui Class, Qt Gui Project, Qt Resource File),或Qt Designer下的Qt Designer Form項目。這樣就不需要自己添加相應include與lib.更方便快捷!

 

http://cool.worm.blog.163.com/blog/static/6433900620094250839527/

 

Eclipse+Qt開發環境設定(Linux和Win)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.