Qt5 compile with vs2008

来源:互联网 发布:linux设置自启动程序 编辑:程序博客网 时间:2024/05/21 10:37

--------------------------------开始之前的分割线-----------------------------
为什么不使用 mingw:http://qt-project.org/forums/viewthread/7018/P45/#73324
crtdbg.h 是个硬伤。
 
windows 下build 不了qtwebkit:http://qt-project.org/forums/viewthread/7018/P60
所以一开始就把qtwebkit 和 qtwebkit-demo删除或者重命名
----------------------------------------------------------------------------------------------
 
git clone git://gitorious.org/qt/qt5.git qt5  (或者 http://git.gitorious.org/qt/qt5.git qt5)
cd qt5
perl init-repository -f -no-webkit --http #中间断开很多次, perl init-repository --help 查看帮助
set QTDIR=
set PATH=%CD%\qtbase\bin;%PATH%
 
 
configure.bat -platform  win32-msvc2008 -developer-build -opensource-fast-nomake examples -nomake tests
 
全编译:nmake
编译模块:make module-qtbase  # module-{目录名}
 
 
1. Q: NMAKE : fatal error U1073: don't know how to make 'module_qtjsondb-make_default'
A: ./Makefile:403:module-qtlocation-make_default: qtlocation\$(MAKEFILE) module-qtbase-make_default module-qtdeclarative-make_default module-qt3d-make_defaultmodule_qtjsondb-make_default FORCE
 
2. Bluetoothapis.h C2146: syntax error : missing ';' before identifier 'type'
  qtsystems\src\systeminfo\qdeviceinfo_win.cpp  : 47行
    #include <Winsock2.h>  // 后面添加
    #include <ws2bth.h>
 
3. player\directshowmetadatacontrol.cpp(79) : error C2039: 'RatingOrganisation' : i
s not a member of 'QtMultimedia::MetaData'
player\directshowmetadatacontrol.cpp(79) : error C2065: 'RatingOrganisation' : u
ndeclared identifier
 
4 player\vmr9videowindowcontrol.cpp(90) : error C2664: 'IVMRWindowlessControl9::S
tVideoClippingWindow' : cannot convert parameter 1 from 'WId' to 'HWND'
        Conversion from integral type to pointer type requires reinterpret_cast
 C-style cast or function-style cast
player\vmr9videowindowcontrol.cpp(141) : error C2664: 'BeginPaint' : cannot con
ert parameter 1 from 'WId' to 'HWND'
        Conversion from integral type to pointer type requires reinterpret_cast
 C-style cast or function-style cast
player\vmr9videowindowcontrol.cpp(146) : error C2664: 'IVMRWindowlessControl9::
epaintVideo' : cannot convert parameter 1 from 'WId' to 'HWND'
        Conversion from integral type to pointer type requires reinterpret_cast
 C-style cast or function-style cast
player\vmr9videowindowcontrol.cpp(166) : error C2664: 'EndPaint' : cannot conve
t parameter 1 from 'WId' to 'HWND'
        Conversion from integral type to pointer type requires reinterpret_cast
 C-style cast or function-style cast
因为不懂git,乱执行语句,造成代码混乱了。
 
参考:
https://qt-project.org/wiki/Building_Qt_5_from_Git
原创粉丝点击