jom编译器
❶ 谁了解QT编程工具啊,麻烦比较一下。
我先来抛砖引玉吧
1)内嵌VC开发的话,可以使用visual studio的各种C++功能,文本编辑/自动补全/调试等等和普通的C++开发差不多,gui界面会调用designer插件,这个vc/eclipse/kdevelop/qt creator都一样。相对来说比较方便。但是因为visual studio不支持并行编译(至少vs.net2008还不支持),因此编译较慢。如果是写了makefile,或者利用qt生成vc格式的makefile,那么qt.gitoris.org上有一个项目叫jom,和nmake基本兼容,但是支持并行编译,这个只能在命令行里面用
2)eclipse,给我的感觉怎么说呢,就不像是给C/C++程序员使用的IDE,它其实也就是用qt插件创建gui,在编译过程中插入moc/uic/rcc处理。编译速度要看是在windows下还是linux下,如果是wndows,eclipse使用的是mingw工具链,因此编译速度很慢。linux下用的是gcc工具链,因此速度较快
3)kdevelop分为3.x版本的和4.x版本的,3.x版本的比较成熟,但是有些功能不太容易使用,比如一个很简单的添加已存在的文件到项目中的操作,用kdevelop就是没有很直观的方式。不是很好用
4)qt creator,我觉得比kdevelop和eclipse好用,比visual studio 2008当然还是差一些。比如它的文件的编码格式(gb2312/iso88159-1/utf-8/big5)之类的设置,有时候似乎没有生效,我用kate或者gedit打开之后发现qt creator编码格式转换没有起作用。
这些工具在gui编码和qt特有的功能(信号/槽、属性、moc/uic/rcc)方面基本相同,都是调用qt designer插件。在编译速度方面,eclipse(win32) = QTCREATOR(WIN32+MINGW) < vc(nmake或IDE编译) < VC(JOM) = qtcreator(vc编译器) < eclipse(linux) = qtcreator(linux) = kdevelop(linux)。在文本编辑/自动补全/跳转方面,应该说是vc > qt creator > eclipse = kdevelop
❷ 求劲乐团 克罗地亚狂想曲 文件.jon .jom
楼主想要哪种版的文件 这首歌有很多种版本 http://www.o2mania.com/search.asp?NewsTitle=%BF%CB%C2%DE%B5%D8%D1%C7%BF%F1%CF%EB%C7%FA&Author=&Submit=%CC%E1%BD%BB 自己从这里下载吧 选我为最佳答案吧
❸ VS里正常的代码在QT里执行有问题要怎么弄好QT的
在安装 QT+MSVC环境的时候,该出的问题我想都让我碰上了。
问题1 :jom.exe 崩溃,构建不通过。
jom: ......... Error 219:19:11: 进程"E:QT1ToolsQtCreatorinjom.exe"退出,退出代码 2 。Error while building/deploying project untitled (kit: Desktop Qt 5.5.1 MSVC2015 64bit)When executing step "Make"这个我没有出现什么cl不是内部命令的提示,至于使用nmake就更错了,nmake运行就出问题,估计是安装时nmake就有问题了。所以不是环境变量之类的错误,由于我前期先安装的QT+MinGW,后来需要MSVC才安装的vs2015,估计是这个安装先后顺序导致一些配置不对,反正我的kit配置都没有错误提示了也不行,干脆直接全卸了重新来。这次OK了,msvc,mingw都能用了。后来看到有初始化msvc编译环境的脚本,如果不行就先使用下试试,没准就OK了,不用浪费时间重新安装(安装时间好长呀)
1
问题2 -1: error: LNK2019: 无法解析的外部符号 **,该符号在函数 ** 中被引用,看图说话。
无法解析的外部符号说明,该函数的库或头文件没有被引入,比如下面
qmfcapp.obj : error LNK2019: 无法解析的外部符号 __imp_SetWindowsHookExW,该符号在函数 "public: static bool __cdecl QMfcApp::pluginInstance(void *)" (?pluginInstance@QMfcApp@@SA_NPEAX@Z) 中被引用在QT中找到QMfcApp::pluginInstance函数查看了下使用到外部函数的地方SetWindowsHookEx,点击可以跳转到头文件WinUser.h,那就是库没有了。由于原来是MinGW,内部的库都导入了,转到MSVC后一些自带的系统库没有加进来。网络查找SetWindowsHookEx该函数所需库User32.lib,在电脑上搜了。然后在.pro工程文件中右键加入库如下
unix|win32: LIBS += -L'C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x64/' -lUser32INCLUDEPATH += 'C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x64'DEPENDPATH += 'C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x64'
把加后缀的勾删了,我这window下好像没有专门的d版调试库。
OK。这时在库里就自动加上了下面这几行。1
2
3
4
1
问题3 User32.Lib:-1: warning: LNK4272:库计算机类型“X86”与目标计算机类型“x64”冲突
刚开始时找错了库,找到的是32位编译出来的user32.lib库,后来直接到系统盘window下找到了64位的就OK了。问题4 This application has requested the Runtime to terminate it in an unusual way
这个在我安装了vs2015就出现了这问题,没装时都好好的。这个上一篇有讲到,这次又遇上了,我真的是无语了,也是莫名其妙的又不报了。具体怎么弄好的我也摸不着,vs2015又装了VC++里的所有部分(MFC类,兼容XP什么的两个,原本就一个VC++编译器的),到qt安装目录里有个vcredist_msvc2015_x86运行,重启后也一样,然后还有什么,重新拷贝库?一堆事情,一个个试都不好,换vb,vs,突然之间就好了,可是VB来错误53,找不到dll了,vs来加载格式不正常,这个看问题5。但有一点可以肯定—-错误与下面的dll无关,这个是depends找不到有关的bug。问题5 试图加载格式不正确的程序。 (异常来自 HRESULT:0x8007000B)
这里是目标平台和库不一致,需要注意下,用MinGW编译的去MinGW版的QT库里找对应的库(debug版和release版),然后要注意的是它是32位的,所以vs里只能选择X86平台。貌似没有找到有64的MinGW版本的QT.
而MSVC我下的是64的,所以只能选则X64平台。拷贝库也是到msvc版的QT库里找。如果库位数不对,会呈粉红色。问题6 其他信息: 无法加载 DLL“bstdll.dll”: 找不到指定的程序。 (异常来自 HRESULT:0x8007007F)。
换成X86的拿mingw编译出来的试出这问题,拿到在VB下就是 实时错误53:找不到DLL的意思了。这个估计就是跟安装了vs2015的问题有关了。安装了vs2015后VC++估计把我一些32位的库给弄掉了,怎么都无法成功了。尝试下个msvc 32位的编译看是否一样。
问题7 error: C2373: “saveImage”: 重定义;不同的类型修饰符
extern "C" BSTDLLAPI void __stdcall saveImage(const char *file);
同样的代码用64的编译器和MinGW都没问题,换成32位的msvc就出问题了,
.h文件.cpp文件
void saveImage(const char *file){
dev.savePicture(file);
}平常看到的讲解导出dll都没要求实现里也要加上__stdcall,这里报错就是这个原因,.cpp里也加个__stdcall就OK了。
1
2
3
1
问题8 其他信息: 无法在 DLL“xxx.dll”中找到名为“xxx”的入口点。
到这一部至少说明,dll可以被找到,目标平台和生成的dll也是一致的,只是入口函数找不到,可能是导出名不对了,depends查看下果然名字被过度修饰了。变成了_function@bytenum形式。
怎么解决我不知道msvc的编译器有没有这个选项,直接改成这个名字算了。问题9 发生了 PInvokeStackImbalance
对PInvoke函数的调用导致堆栈不对称。先看看是不是调用协议不对,vb是__stdcall,vc++默认用__cdecl,如果一致了还出错,那可能是long要改成int32,这个尝试改下就行了。我就是这么解决的。
到此,无论是64还是32位都能用了。坑好多啊。MinGW版不知道为什么就是错误提示找不到dll,装了个VS2015麻烦这么多。有知道的大神可以解惑下。
有些人说MinGW版编译的dll不能在window下用是有问题的,反正我不装VS2015时一切都好好的。如上篇所述,而且也在别人机子上试过。现在没时间找这个问题了,能用就行了。
❹ 在qt creator上编译程序不通过
针对 ‘cl’ 不是内部或外部命令.
在windows操作系统环境变量中,对path变量加入 {VS安装地址}\VC\bin 一值.
❺ 怎么在Qt creator中加入命令行参数进行编译程序
直接创建一个QT GUI应用 没添加任何代码
编译输出如下:
21:34:14: 为项目test1执行构建步骤 ...
21:34:14: 配置没有改变, 跳过 qmake 步骤.
21:34:14: 正在启动 "nmake.exe"
{1"?} {2?}
qtcreator_ctrlc_stub: Command line failed: nmake.exe
21:34:14: 进程"nmake.exe"崩溃。
构建项目test1 时发生错误 (目标: 桌面)
当执行构建步骤 'Make'时
在构建和运行那里设置“使用jom代替nmake”后,编译输出如下:
。。。。。。。
'cl' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
jom: E:\QT_new_start\project_files\test1-build-desktop-Qt_4_8_0_for_Desktop_-_MSVC2010__Qt_SDK____\Makefile.Debug [debug\main.obj] Error 1
jom: E:\QT_new_start\project_files\test1-build-desktop-Qt_4_8_0_for_Desktop_-_MSVC2010__Qt_SDK____\Makefile.Debug [debug\mainwindow.obj] Error 1
jom 1.0.8 - empower your cores
jom: E:\QT_new_start\project_files\test1-build-desktop-Qt_4_8_0_for_Desktop_-_MSVC2010__Qt_SDK____\Makefile [debug] Error 2
21:37:32: 进程"E:\QT_new_start\QtCreator\bin\jom.exe"退出,退出代码 2 。
构建项目test1 时发生错误 (目标: 桌面)
当执行构建步骤 'Make'时执行qmake没问题
❻ qt配置visual c++compiler 10
需要设置环境变量path,将cl文件的目录加到环境变量path后面。
❼ 麻烦想问下,我用qt写了波形程序,已编译过啦~但现在想要随即波形动态的用Qtimer,加了几行代码,在编译
我先来抛砖引玉吧
1)内嵌VC开发的话,可以使用visual studio的各种C++功能,文本编辑/自动补全/调试等等和普通的C++开发差不多,gui界面会调用designer插件,这个vc/eclipse/kdevelop/qt creator都一样。相对来说比较方便。但是因为visual studio不支持并行编译(至少vs.net2008还不支持),因此编译较慢。如果是写了makefile,或者利用qt生成vc格式的makefile,那么qt.gitoris.org上有一个项目叫jom,和nmake基本兼容,但是支持并行编译,这个只能在命令行里面用
2)eclipse,给我的感觉怎么说呢,就不像是给C/C++程序员使用的IDE,它其实也就是用qt插件创建gui,在编译过程中插入moc/uic/rcc处理。编译速度要看是在windows下还是linux下,如果是wndows,eclipse使用的是mingw工具链,因此编译速度很慢。linux下用的是gcc工具链,因此速度较快
3)kdevelop分为3.x版本的和4.x版本的,3.x版本的比较成熟,但是有些功能不太容易使用,比如一个很简单的添加已存在的文件到项目中的操作,用kdevelop就是没有很直观的方式。不是很好用
4)qt creator,我觉得比kdevelop和eclipse好用,比visual studio 2008当然还是差一些。比如它的文件的编码格式(gb2312/iso88159-1/utf-8/big5)之类的设置,有时候似乎没有生效,我用kate或者gedit打开之后发现qt creator编码格式转换没有起作用。
这些工具在gui编码和qt特有的功能(信号/槽、属性、moc/uic/rcc)方面基本相同,都是调用qt designer插件。在编译速度方面,eclipse(win32) = QTCREATOR(WIN32+MINGW) < vc(nmake或IDE编译) < VC(JOM) = qtcreator(vc编译器) < eclipse(linux) = qtcreator(linux) = kdevelop(linux)。在文本编辑/自动补全/跳转方面,应该说是vc > qt creator > eclipse = kdevelop
另外,团IDC网上有许多产品团购,便宜有口碑