VS2008下无法发布QT程序 100

我在VS2008下用QT和OpenGL写了一个3D模型查看器,在本机上运行良好,可是拿到别人的电脑上就无法运行,即使拷贝QT的DLL也不行。后来决定静态编译QT,将con... 我在VS2008下用QT和OpenGL写了一个3D模型查看器,在本机上运行良好,可是拿到别人的电脑上就无法运行,即使拷贝QT的DLL也不行。后来决定静态编译QT ,将conf里的MD改成MT。在VS里面把VC运行时库也改成了MT,可是生成release版本时出现链接错误
1>qtmain.lib(qtmain_win.obj) : error LNK2005: "public: __thiscall QByteArray::~QByteArray(void)" (??1QByteArray@@QAE@XZ) 已经在 QtCore4.lib(QtCore4.dll) 中定义
1>qtmain.lib(qtmain_win.obj) : error LNK2005: "public: void __thiscall QByteArray::detach(void)" (?detach@QByteArray@@QAEXXZ) 已经在 QtCore4.lib(QtCore4.dll) 中定义
1>qtmain.lib(qtmain_win.obj) : error LNK2005: "public: __thiscall QString::~QString(void)" (??1QString@@QAE@XZ) 已经在 QtCore4.lib(QtCore4.dll) 中定义
1>MSVCRT.lib(cinitexe.obj) : warning LNK4098: 默认库“libcmt.lib”与其他库的使用冲突;请使用 /NODEFAULTLIB:library
1>release\QModelViewer.exe : fatal error LNK1169: 找到一个或多个多重定义的符号
急切需要各位大牛的帮助,感谢!
2008就基本发布不了,我换成VS2003就正常了。
展开
 我来答
百度网友1d8e8b9
2010-06-08 · TA获得超过913个赞
知道小有建树答主
回答量:589
采纳率:60%
帮助的人:322万
展开全部
呵呵。。
其实,这是因为,微软为了解决DLL HELL问题,而更改了部署方案。就是说对应版本的VS,使用对用版本的DLL。

因此,之所以你2008发布不了,是因为客户机没有安装VS2008部署包。你搜索
vc2008 redist 就明白了。

解决方法有好几种。

1、手动修改VS2008 项目配置,使得采用旧的部署方案,这样就可以直接发布了。

2、升级客户机器的操作系统。

3、在微软官方网站下载 对应版本的 部署包 同你的程序一起发布。

个人推荐第三种方法。我用的是vc9_x86_redist
777999666qhw
2010-06-04 · TA获得超过4871个赞
知道大有可为答主
回答量:5615
采纳率:25%
帮助的人:4656万
展开全部
一般是头文件的问题
stdafx.h
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hustxingma
2015-12-21
知道答主
回答量:1
采纳率:0%
帮助的人:1172
展开全部
我也跟你出现了同样的错误,不知道你解决的没有,可否共享一下啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2010-06-01
展开全部
重复定义了? 注释掉重复的看看
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式