• 5520阅读
  • 5回复

[提问]如何使QT编译时使用WIN API时默认调用A的而不是用W的,工程在MFC几乎都是用A的。 [复制链接]

上一主题 下一主题
离线odong
 
只看楼主 倒序阅读 楼主  发表于: 2012-05-22
项目里的WIN API几乎全都是用A的WIN API,用QT编译时全都错误,要把char*转成WCHAR,
例如:
使用“GetCurrentDirectory”MFC可以编译通过,但是QT却说类型不符合,
后来发现QT 调用 的是GetCurrentDirectoryW的。
没有办法使QT编译默认调用GetCurrentDirectoryA。
离线odong
只看该作者 1楼 发表于: 2012-05-22
没人会吗?
救急~~我不想一个个API去修改··
离线roywillow

只看该作者 2楼 发表于: 2012-05-22
win api使用A还是W好像是由一个宏来决定的,记不清是UNICODE还是_UNICODE了……看一下头文件吧只要把这个宏在编译参数中给undefine或者去掉应该就行了
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线odong
只看该作者 3楼 发表于: 2012-05-23
引用第2楼roywillow于2012-05-22 18:07发表的  :
win api使用A还是W好像是由一个宏来决定的,记不清是UNICODE还是_UNICODE了……看一下头文件吧只要把这个宏在编译参数中给undefine或者去掉应该就行了


谢谢,但我是新手,不知道这个怎么操作。
离线odong
只看该作者 4楼 发表于: 2012-05-23
哦··谢谢了!
我加了个头文件,里面写了
#undef UNICODE
每个cpp包含进去了,现在终于可以编译过了。
离线kevinzhwl

只看该作者 5楼 发表于: 2012-08-31
在pro里面写
DEFINES -= UNICODE
或者去改makespec
快速回复
限100 字节
 
上一个 下一个