⑴ android studio怎樣編譯qgroundcontrol安卓源碼
、qt的安裝路徑,以及以後使用vs建立qt項目的時候,不能有中文,路徑中也不能有空格.
2)、刪除源碼包中bin目錄下的syncqt和syncqt.dat文件,如你不放心可將其改名或剪切到別的位置。如不修改將發生 Perl not found in environment - cannot run syncqt 錯誤。
3)、一定要修改\mkspecs\win32-msvc2010下的qmake.conf文件,將其中的"QMAKE_CFLAGS=-nologo -Zm200 -Zc:wchar_t-「改成"QMAKE_CFLAGS=-nologo -Zm200 -Zc:wchar_t」 注意末尾的」-「號區別。如不修改將來如有項目使用wchar_t,qt卻編譯成wchar_t-,編譯會導致連接錯誤,提示找不到Qwstring;
4)、關於是困旦否需要修改\mkspecs\win32-msvc2010下的qmake.conf文件中的QMAKE_CFLAGS_RELEASE,QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO,QMAKE_CFLAGS_DEBUG這3處後面的MD,MDd,取決你打算動消喊態還是靜態編譯,如果是靜態編譯的話,改為:MT,MTd(最後還要在vs2010中的項目屬性中將MD改為MT,以實現在沒有VC庫的電腦也能運行Qt程序。)。如果是動態編譯的話可以不改。
5)、一定要修改src\3rdparty\webkit\Source\WebCore\platform下的DefaultLocalizationStrategy.cpp,定位到327行,將本行替換成return WEB_UI_STRING(「Look Up " "「, 「Look Up context menu item with selected word」).replace(「 「, (selectedString));(請直接將以上英文部分一次性全復制,其實它們是一行,不要分行復制)。如果你仔細看原來的那行的話,你會發現雙引號是錯誤的,如不修改將出現編譯Webkit 時會出現 U1077錯誤。
以下是我的編譯腳本,可以直接使用,保存為批處理拿尺野文件在QT解壓後的根目錄運行即可:
@CALL "C:\Program Files\Microsoft Visual Studio 10.0\VC\vcvarsall.bat"
⑵ linux下 qt程序源代碼如何編譯運行
仔細看裡面的源代碼,應該有一些文件里有連接到*.lib文件的,這是QT的動態庫文件把QT庫編譯成linux下的*.lib,然後編譯的時候,把lib文件放在同一文件夾,並且編譯命令加上-l *.lib或者放到根目錄下的lib目錄下也可以。這樣試一下。.o文件還需要經過連接才能生成可執行的文件。
⑶ Qt creator 如何設置靜態編譯
Qt默認的編譯方式是動態編譯的,但是有時候編寫的程序要發布出去,帶很多動態庫文件是很繁瑣的,此時就需要靜態編譯程序,Qt要實現靜態編譯必須庫文件也是靜態編譯的,可以用這個命令編譯靜態庫:
1.將C:\Qt\2010.05\qt\mkspecs\win32-g++\qmake.conf文件中的QMAKE_LFLAGS = -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc
改為
QMAKE_LFLAGS = -static -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc
2.在開始菜單里找到Qt Command Prompt並運行,輸入命令: configure -static -debug-and-release -no-exceptions -L "C:\Qt\2010.05\qt\include" -L "C:\Qt\2010.05\qt\lib"
-L指定一下路徑,防止用到vc的頭文件
選擇開源:O;選擇license:y;
3.上一條命令運行成功後再輸入命令: mingw32-make sub-src
等1 ~3 小時可能就運行完了 完成後就可以了。
⑷ QT程序怎麼調用vc,編譯的靜態庫,動態庫等
mingw編譯出來的靜態庫後綴名為.a,編譯出來的動態庫的導入庫後綴名為.dll.a,而在windows下後綴名為.lib的庫可能是靜態庫也可能是動態庫的導入庫。 mingw編譯出來的動態庫的導入庫可以直接在vc中直接使用
⑸ 請哪位來解釋一下Qt靜態編譯和動態編譯的區別
靜態編譯與動態編譯的區別:
1、動態編譯的可執行文件需要附帶一個的動態鏈接庫,在執行時,需要調用其對應動態鏈接庫中的命令。
所以其優點一方面是縮小了執行文件本身的體積,另一方面是加快了編譯速度,節省了系統資源。
缺點一是哪怕是很簡單的程序,只用到了鏈接庫中的一兩條命令,也需要附帶一個相對龐大的鏈接庫;二是如果其他計算機上沒有安裝對應的運行庫,則用動態編譯的可執行文件就不能運行。
⑹ 使用Qt靜態庫為什麼運行出錯
因為鏈接的是qt的動態庫,在沒有qt動態庫的系統上肯定是運行不了的。
有兩種方法,
一種是靜態編譯,但會讓運行文件變大。
二種就是把動態庫和程序一起打包出去,路徑設置
⑺ Qt如何實現靜態編譯與動態編譯共存
通常不需要在系統變數中加入Qt庫的位置的。Qt Creator可以自動掃描到系統中存在的Qt庫版本,如果掃描不到,可以通過Creator的 Tool->Options->Qt4中添加靜態庫的路徑。而QDevelop雖然沒有那麼智能,但是可以手動指定INCLUDE和LIB的位置。或許,這根本就不是一個問題。如果懷念動態庫,或者在產品發布之前並不想體驗靜態編譯那種蝸牛爬一般的速度,可以在pro文件中指定CONFIG += shared,而且,要記得在Project中選擇相應的版本。