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就正常了。 展开
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就正常了。 展开
展开全部
呵呵。。
其实,这是因为,微软为了解决DLL HELL问题,而更改了部署方案。就是说对应版本的VS,使用对用版本的DLL。
因此,之所以你2008发布不了,是因为客户机没有安装VS2008部署包。你搜索
vc2008 redist 就明白了。
解决方法有好几种。
1、手动修改VS2008 项目配置,使得采用旧的部署方案,这样就可以直接发布了。
2、升级客户机器的操作系统。
3、在微软官方网站下载 对应版本的 部署包 同你的程序一起发布。
个人推荐第三种方法。我用的是vc9_x86_redist
其实,这是因为,微软为了解决DLL HELL问题,而更改了部署方案。就是说对应版本的VS,使用对用版本的DLL。
因此,之所以你2008发布不了,是因为客户机没有安装VS2008部署包。你搜索
vc2008 redist 就明白了。
解决方法有好几种。
1、手动修改VS2008 项目配置,使得采用旧的部署方案,这样就可以直接发布了。
2、升级客户机器的操作系统。
3、在微软官方网站下载 对应版本的 部署包 同你的程序一起发布。
个人推荐第三种方法。我用的是vc9_x86_redist
展开全部
一般是头文件的问题
stdafx.h
stdafx.h
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我也跟你出现了同样的错误,不知道你解决的没有,可否共享一下啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2010-06-01
展开全部
重复定义了? 注释掉重复的看看
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询