vs 2010 中用qt插件编写动态库dll

来源:互联网 发布:ppt其他用途知乎 编辑:程序博客网 时间:2024/04/30 14:36

       在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的项目是反的)

原创粉丝点击