2013-06-29 84 views
0

所以我看到了關於如何靜態構建Qt的教程,但是我有一個問題。如果我在我的程序中使用QMYSQL驅動程序,我需要添加到configure -static?會-singleexec做的伎倆?靜態構建Qt(關於配置 - 靜態附加選項)

鏈接教程:http://qt-project.org/doc/qt-4.8/deployment-windows.html#linking-the-application-to-the-static-version-of-qt

選項:http://radekp.github.io/qtmoko/api/buildsystem/over-configure-options-1.html

我要的是一個獨立的。

+0

請**不要**谷歌隨機文件來源。該qtmoko頁面上仍然有Trolltech版權!請僅使用http://qt-project.org/doc/上的官方文檔(或者更好的來源:-))。 – peppe

回答

2

配置腳本支持將其他SQL驅動程序構建到QtSql本身;嘗試通過-qt-sql-mysql它(連同-static)。您還需要通過所有-I,-L和最終-l選項才能構建MySQL驅動程序(編譯器和鏈接程序必須能夠找到您的MySQL包含文件和庫;因此,除非它們位於「標準路徑「,你需要添加這些標誌來編譯MySQL驅動程序)。


如果不工作,你總是可以建立MySQL驅動作爲靜態插件 - 只需按照普通的構建指令(靜態由configure -static意味着你建的Qt後)構建驅動程序,它會產生一個靜態插件。然後,您需要

  1. 在你的.pro文件中添加QTPLUGIN += qsqlmysql
  2. 添加Q_IMPORT_PLUGIN(qsqlmysql)某處您的應用程序(如,圍繞主)。

有關詳細信息,請參閱docs about static plugins

+0

所以如果我已經安裝QMYSQL驅動程序(能夠連接到MySQL數據庫),我需要在配置-static後鍵入'-qt-sql-mysql'?另外,通過添加'-I','-L'和'-l'選項,我不太明白你的意思。如果我使用第二個選項,我只需要添加步驟1和2,然後運行'configure -static'? – throwaway2013

+1

我已經詳細闡述了我的答案。 – peppe

+0

如果我在'C:\ Program Files(x86)\ MySQL'中安裝了mysql服務器,我會用'-I','-L','-l'鍵入什麼內容?這些文件說包含路徑爲'-I',庫路徑爲'-L',但是'-l'是什麼?所以我會輸入'-I C:\ Program Files(x86)\ MySQL \ MySQL Server 5.5 \ include'和'C:\ Program Files(x86)\ MySQL \ MySQL Server 5.5 \ lib'。儘管我失去了'-l'。我需要將'-I'等與'-static'一起傳遞嗎?或之後? – throwaway2013