随笔分类 -  Viusal C++

与VC集成开发环境相关的内容
摘要:参考:这个错误是微软设计错误,因此如果遇到这个错误,我们只能躲过这个链接错误。具体的办法就是将那个提示出错的库放到另外一个库的前面。另外选择不同的C函数库,可能会引起这个错误。MS,C有两种C函数库,一种是普通的函数库:LIBC.LIB,不支持多线程。另外一种是支持多线程的:msvcrt.lib。如果一个工程里,这两种函数库混合使用,可能会引起这个错误。因此建议使用支持多线程的msvcrt.lib。需要注意的是,当使用其他的库的时候最容易产生这种错误,例如boost和wxWindow使用/MD来编译的,也就是使用支持多线程的C函数库。这时候如果自己的程序没有指明/MD的话,就会提示两种C函数冲 阅读全文
posted @ 2011-08-13 15:40 Atypiape 阅读(1551) 评论(0) 推荐(0) 编辑
摘要:链接的时候分静态链接和动态链接两种。静态连接的话,基本上就不需要向目标机器拷贝附加的文件了,方法如下: 1、修改编译选项,将/MD或/MDd 改为 /MT或/MTd,这样就实现了对VC运行时库的静态链接,在运行时就 不再需要VC的dll了。 2、工程->属性->配置属性->常规->MFC的使用,选择“在静态库中使用mfc”。动态连接的话,需要在目标机器上拷贝mfc所依赖的动态库。根据你使用的VC版本不同而不同: VC6的话,一般包括mfc42.dll、msvcrt.dll、msvcp60.dll; VC71的话,一般需要MFC71.dll、msvcp71.dll、msv 阅读全文
posted @ 2011-07-29 15:06 Atypiape 阅读(3078) 评论(0) 推荐(2) 编辑
摘要:编辑器加载中...链接警告 LNK4098defaultlib "library" conflicts with use of other libs; use /NODEFAULTLIB:library你试图链接相互不兼容的库。重要提示目前运行时库包含预编译指令来阻止混合不同类型库的链接。如果你试图在同一个程序中使用不同类型的或者调试/非调试版本的运行时库,你将看到这个警告。举个例子,如果你编译一个文件使用某个类型的运行时库,而别的文件使用另外一个类型(例,单线程版本和多线程版本),那么在你试图链接它们的时候,你将看到这个警告。你应该使用相同的运行时库来编译所有的源文件。参 阅读全文
posted @ 2011-07-29 09:35 Atypiape 阅读(242) 评论(0) 推荐(0) 编辑
摘要:编辑器加载中...在未安全SP1的VSTS2008上联合编译大型项目时出现如下问题:LNK1318: Unexpected PDB error; RPC (23)问题起因分析:当PDB文件名太长时mspdbsrv.exe会发生崩溃,然后我们就看到了上述问题消息。解决方案:安装SP1补丁包,这样,当PDB文件名太长时mspdbsrv.exe会报告一个文件操作失败来替代崩溃。 阅读全文
posted @ 2011-07-20 16:43 Atypiape 阅读(3106) 评论(0) 推荐(1) 编辑
摘要:编辑器加载中...编译时出现如下问题:c:\program files\microsoft\v6.0\include\winnt.h(236) : error C2146: syntax error : missing ';' before identifier 'PVOID64'c:\program files\microsoft\v6.0\include\winnt.h(236) : error C2146: syntax error : missing ';' before identifier 'Buffer'问题起因分析 阅读全文
posted @ 2011-07-20 12:16 Atypiape 阅读(4602) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示