vs 2010 中用qt插件编写动态库dll
2012-09-02 11:30
176 查看
在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的项目是反的)
总项目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的项目是反的)
相关文章推荐
- 使用QT+MSVC编写32/64位动态库dll的问题记录
- java调用vs2013编写的dll动态库
- QT+VS编写和使用动态库
- VS2010+Qt5.3.1+qt-vs-addin插件
- 在VS2015中用C++编写可被其它语言调用的动态库DLL
- 使用QT+MinGW编写动态库dll供VC或VB调用
- Qt中隐式调用VS建立的dll动态库
- qt调用vs2008编写的dll动态库(隐式调用)
- MFC调用QT编写的DLL动态库
- Qt的VS 2010插件安装
- vs2010下win32动态库只生成Dll文件 没有lib文件解决办法
- Qt中隐式调用VS建立的dll动态库
- VS使用QT编写dll程序
- 使用QT+MinGW编写动态库dll供VC或VB调用
- qt-vs-addin:Qt4和Qt5之VS插件如何共存与使用
- vs编写dll
- vs编写dll
- vs2010设置不自动加载DevExpress插件
- 自己动手编写一个VS插件(七)
- vscode编写插件