在vs2010中安装qt插件,然后写qt的dll,新建项目时选择“Qt Application”,然后把“项目属性->配置属性->常规->项目默认值->配置类型”设置为“动态库dll”, 写完编译后发现,文件的后缀是exe,并且文件的目录总是不对。目录结构是这样的:
总项目A的目录-----------------qt项目B
|------------Debug
|------------ ......
检查编译好的文件位置,发现这个qt dll文件总是在A / 目录下,而默认其他项目的文件生成后,都是在A / Debug下。
经过在属性页里的一番摸索,以及和其他编译正常的项目对比,终于找到了解决办法:
1.后缀名问题,“项目属性->配置属性->库管理器(如果项目类型是dll,则是在“链接器”下)->常规->输出文件”,选择“$(OutDir)$(TargetName)$(TargetExt)”,这个“TargetExt”就能决定编译成文件的后缀名,此项设定后,后缀名正常。
2.生成文件位置问题,在“项目属性->配置属性->常规->常规->输出目录”选择“<从父级或项目默认设置继承>”,再编译,生成文件的目录就正常了。
3 vs2010下编译qt 项目,如果项目类型是“动态库dll”,生成的文件有dll,但是没有lib文件,编译整个工程时会导致“引用这个项目时缺少lib文件”而编译失败。而将项目类型选择为“静态库lib”时,会生成lib和dll文件,这样编译和运行时都不会缺少文件。(这点挺奇怪,和非qt的项目是反的)