我目前正在用XAudio2做一个音频项目,我一直在使用msvc++ Express 2010。我写了一些基本的功能,我想我应该尝试用Qt做一个UI,所以我按照步骤,能够在我的MSVC版本中使用Qt:
- 下载Qt源代码
- 用cmd提示符编译MSVC中的所有内容 创建一个Makefile项目,使用qmake &nmake
- 在我的项目 中添加libs, includes, dll目录
一切正常
现在,我想走另一种方式,将我的项目导入Qt Creator,以便轻松地使用Qt设计器,也因为我只是想玩它,看看我是否喜欢它。
因此,我导入了一个使用XAudio2制作的简单控制台应用程序,并在.pro中添加了XAudio include路径:INCLUDEPATH += "C:/Program Files/Microsoft DirectX SDK (June 2010)/Include"
我在编译时遇到的问题是:
main.obj:-1: error : LNK2019: unresolved external symbol __imp__CoInitializeEx@8 referenced in function _main
File not found: main.obj
文件就在那里,编译创建了它:
C:Qtqtcreator-2.2.1projectstest-build-desktopdebug
和我不知道为什么造物主找不到它…什么好主意吗?它是一个库,我需要包括,将自动包括当我在MSVC工作?
嗯,我找到了我的答案,但这是一个很难的答案。所以,8个小时后,它在这里。CoInitializeEx初始化一个COM库供调用线程使用,以及其他一些东西…
CoInitializeEx函数参考
下面的链接解释了如何在Qt中使用COM对象。
使用Qt中的COM对象
基本上,你添加
CONFIG += qaxcontainer
到.pro
文件
同样,由于某些原因,即使它与此无关,我不得不使用jom,因为nmake不起作用