我一直使用vc,最近想学习Qt
我机子上装有:
vs2008
Qt_SDK_Win_offline_v1_1_2_en.exe
qt-vs-addin-1.1.9.exe
-----------------------------
我没有用vs2008或mingw编译qt、qt creator,而是直接默认安装qtSDK的
版本如下:
Qt Creator 2.2.1
基于Qt 4.7.4
mingw 4.4
在试用过程中,有几个问题被弄糊涂了
------------------------------
1、安装完qtsdk后,我的目录如下:
E:\QtSDK\Demos
\Desktop
\Documentation
\Examples
\Licenses
\mingw
\pythongdb
\QtCreator
\readme
\Simulator
\Symbian
\temp
\vcredist_x86
不太清楚头文件,库文件在哪里?包括标准c的、标准c++的、Qt的
例如我搜索stdio.h时,有:
E:\QtSDK\mingw\include\stdio.h
E:\QtSDK\Symbian\tools\sbs\win32\mingw\include\stdio.h
E:\QtSDK\mingw\lib\gcc\mingw32\4.4.0\include\ssp\stdio.h
等等,还有很多,没有全部写上来
例如我搜索vector时,有:
E:\QtSDK\Symbian\SDKs\Symbian3Qt473\epoc32\include\stdapis\boost\tr1\tr1\vector
E:\QtSDK\mingw\lib\gcc\mingw32\4.4.0\include\c++\vector
E:\QtSDK\Symbian\tools\sbs\win32\mingw\include\c++\3.4.5\vector
等等,还有很多,没有全部写上来
例如我搜索qapplication.h时,有:
E:\QtSDK\Desktop\Qt\4.7.3\mingw\include\Qt\qapplication.h
E:\QtSDK\Desktop\Qt\4.7.3\mingw\include\QtGui\qapplication.h
E:\QtSDK\Desktop\Qt\4.7.3\msvc2008\include\Qt\qapplication.h
E:\QtSDK\Simulator\Qt\mingw\include\QtGui\qapplication.h
等等,还有很多,没有全部写上来
现在的问题是,假如我在程序中
#include <stdio.h>
那qt creator到底使用的是哪份呢?
------------------------------
2、我试着新建了一个destop的Qt Gui Application,只有一个对话框
编译运行时出现warning对话框:
the preferred debugger engine for debugging binaries of type 'x86-
windows-msvc2008-pe-32bit' is not available.
the debugger engine 'Gdb engine' will be used as a fallback.
details: there is no CDB binary available for binaries in format 'x86-
windows-msvc2008-pe-32bit'
也没有跑到断点处,为什么呢?
------------------------------
3、后面试着将运行版本从
"Qt 4.7.3 for destop - msvc2008 (Qt SDK) debug"
转到
"Qt 4.7.3 for destop - MinGW (Qt SDK) debug"
编译成功,也能跑到断点处
这2者有什么区别么?
------------------------------
4、我安装完qt-vs-addin-1.1.9.exe后
打开vs2008,发现菜单栏里有了"Qt"项
且新建时,也是有
"Qt4 Projects"项目的
我试着新建一个Qt Application时
弹出错误对话框
unable to find a Qt build!
to solve this problem specify a Qt build
我发现Qt>Qt Options设置这里
Qt Versions是空的,但我不知道怎么设环境变量,因为前面那些目录搞蒙了我
怎么样才能在vs2008里跑起来qt呢?
------------------------------
5、关于移植的问题
假如我能在vs2008里跑Qt的程序了,或者在windows的qt creator里用vs2008能编的Qt的程序
放到mac或linux下的qt creator里不能跑了呢?
也就是说在windows下的Qt会不会用到window的库啊?
------------------------------
6、还有一个Qt Creator使用vs2008还是mingw编译的问题
有谁有过经验的?2者哪个好一些?性能,编译速度等哪个好呢?
我曾经用msys+mingw编过ffmpeg,并使用gdb调试过ffmpeg的代码
发现在gdb调试状态下,断点后
它的代码不是按顺序来跑的
比如有以下代码
a();
b();
c();
d();
一般的IDE下,断点后,
跑的顺序为
a>b>c>d
但gdb显示给我的却是
a>d>b>c
当然或者其他顺序,据说gdb优化了的效果
不知道用Qt Creator时,会不会出现这种情况呢?
------解决方案--------------------
5、关于移植的问题
假如我能在vs2008里跑Qt的程序了,或者在windows的qt creator里用vs2008能编的Qt的程序
放到mac或linux下的qt creator里不能跑了呢?
也就是说在windows下的Qt会不会用到window的库啊?
answer:
1. 在windows下的Qt会用到window的库;
2. qt程序如果更换平台(如window->linux),只需要将代码重新编译即可。
------解决方案--------------------
如果你的QT程序依赖了mfc com的 是无法移植到linux上的
------解决方案--------------------
haodongdong
------解决方案--------------------
一开始就别用IDE了,我用emacs