1、進入原始碼目錄下的qtbase\mkspecs\win32-msvc2013
目錄,開啟檔案qmake.conf
檔案。新增
qmake_cflags_release = -o2 -mt -zc:strictstrings
qmake_cflags_release_with_debuginfo += -o2 -mt -zi -zc:strictstrings
qmake_cflags_debug = -zi -mtd
上面其實不做也可以,我就沒有做。
2、進入解壓後的原始碼目錄,開啟命令列介面,執行
configure -prefix 安裝目錄 -platform win32-msvc2013 -opensource -release -static -qt-sql-sqlite -qt-sql-mysql -qt-zlib -qt-libjpeg -qt-libpng -skip qtquickcontrols -skip qtquickcontrols2 -skip qtsensors -skip qtdoc -confirm-license -c++std c++11
詳細的配置選項可以看這裡
執行configure
成功後,會提示執行nmake
。
開啟vs2013
安裝目錄下的\common7\tools\shortcuts
目錄,雙擊執行vs2013 x64 本機工具命令提示
。
切換工作目錄到qt5.6.0
的原始碼目錄,執行nmake
。
下面問題出現的時候,由於我沒有記錄下報錯資訊,所以只能靠自己的記憶來描述了。
問題1:找不到編譯生成的.obj
這是在編譯qtimageformats
模組的時候出現的問題。由於編譯時指定的生成路徑太長,檔案無法寫入導致的。開啟qt5.6.0原始碼目錄下的qtimageformats\src\imageformats\makefile.release
檔案,將生成路徑中的.obj\release\qt...省略很多級目錄...
改為乙個比較短的路徑。
問題2:編譯adueditor時,鏈結出現的重定義問題
開啟檔案qtserialbus\examples\serialbus\modbus\adueditor\mainwindow.cpp
,將以下幾行注釋掉。
qt_begin_namespace
q_logging_category(qt_modbus, "qt.modbus")
q_logging_category(qt_modbus_low, "qt.modbus.lowlevel")
qt_end_namespace
問題3:error lnk2019: 無法解析的外部符號 "struct qstaticplugin const __cdecl qt_static_plugin_assimpparserplugin(void)"
這個問題記錄下來了,是因為這裡編譯的是靜態庫,這裡載入外掛程式的時候,沒有鏈結它。
開啟原始碼目錄下的qt3d\examples\qt3d\qt3d.pro
檔案。新增qt3d\plugins\sceneparsers
目錄下的兩個.lib
檔案。新增後還要其他的未找到定義問題,再找相關的lib檔案鏈結進來。
VS2013編譯Qt5 6 0靜態庫
1 進入原始碼目錄下的qtbase mkspecs win32 msvc2013目錄,開啟檔案qmake.conf檔案。新增 qmake cflags release o2 mt zc strictstrings qmake cflags release with debuginfo o2 mt z...
VS2013編譯Qt5 4靜態庫
原帖位址 1 環境配置 安裝python 安裝perl 修改檔案路徑 qt qtbase mkspecs win32 msvc2013 qmake.conf 原始檔案是注釋掉的三行,分別修改為後面三行 qmake cflags release o2 md zc strictstrings qmake...
vs2013編譯ffmpeg總結
ffmpeg官網上有vs編譯ffmeg的教程,主要的流程就是根據官網上給出的教程一步步編譯,但是在編譯過程中遇到了很多的坑,所以把自己遇到的一些坑寫出來讓其他的人少走彎路。1.搭建mingw 2.yasm安裝.這裡是乙個大坑,在yasm官網上有乙個vs版本的yasm,不要用那個,就直接普通的yasm...