草庐IT

c++ - 在将大型 C++ 程序从 VS2005 转换为 VS2008 之前,我应该了解什么?

在将大型C++程序从VS2005转换为VS2008之前,我应该了解什么? 最佳答案 我现在正在解决这个问题。正在运行WinMerge以查看我所做的更改...好的,这是我必须在一个巨大的Win32/MFC客户端应用程序中修复的问题:某些MFC函数已变为虚拟函数(过去不是这样的-如果我没记错的话,其中之一是CWnd::GetMenu)。还有一些与我们的传统鼠标滚轮支持相关的东西(在Windows具有内置鼠标滚轮支持之前)不知何故坏了(我刚刚删除了这个功能,所以我从来没有真正弄清楚为什么会坏)。一些ATL方法(或方法参数)已更改为原来不是

c++ - visual studio 链接器警告 LNK4098

我有一个dll项目,在发布配置中构建项目时,我收到以下警告:MSVCRT.lib(cinitexe.obj):warningLNK4098:defaultlib'msvcrtd.lib'conflictswithuseofotherlibs;use/NODEFAULTLIB:library这只是一个警告,但我不知道是否应该考虑这一点。据我所知,它们都是多线程库、正常版本和调试版本。我的dll使用多线程,我可以调试它,尽管我使用了boost:thread,所以我真的不知道我是否需要这个Windows特定的库来调试或发布构建...亲切的问候,亚历克斯好吧,我按照BuschnicK的建议做了

c++ - Visual C++ 2010 - fatal error LNK1169 : one or more multiply defined symbols found

这是一个程序:#includeusingnamespacestd;intmain(){cout>i;try{if(i==0)throw0;if(i==2)throw"error";}catch(inti){cout在编译时(Windows7上的MicrosoftvisualC++2010express),我收到错误消息:fatalerrorLNK1169:oneormoremultiplydefinedsymbolsfound 最佳答案 其实这段代码没有错误。源文件的数量可能是问题所在。在同一个编译器中将此代码作为一个新项目尝试,或

c++ - 在 Visual Studio 2005 中加速编译

对于主要包含C++项目的解决方案,在VisualStudio2005中加快编译时间的最佳方法是什么? 最佳答案 除了预编译头之外,还有许多其他事情可能会减慢您的速度:病毒检查软件-会对构建产生严重影响。如果您正在运行病毒检查程序,请尝试将其关闭并查看您获得了什么样的改进。RAM不足-RAM不足会导致更多的磁盘读取并降低您的速度。继续->慢速HDD-不管怎样,您都必须写入光盘,而慢速驱动器(如许多笔记本电脑和低端系统中的驱动器)会破坏您的构建。您可以获得更快的驱动器、RAID阵列或SSD缓慢的处理器……当然。不太可能,但是:检查并查看

c++ - lnk1104 : cannot open 'LIBC.lib' LINK

在使用GLee为我的OpenGL项目编写着色器并编译后,我收到错误LNK1104:无法打开文件“LIBC.lib”。我试过按照其他人的建议添加并忽略它,但并没有解决任何问题。有没有其他方法可以解决我错过的这个问题? 最佳答案 这里有几种可能的解决方案:这可能是由于代码生成冲突。如果您的libc.lib的线程支持与您项目的设置不同,这可能会导致问题。如果是这样,右键单击project,然后转到properties->C++->codegeneration->RuntimeLibrary并将值更改为Multi-threaded(MT).

c++ - LNK2019 未解析的外部符号 NtOpenFile

我的代码面临链接器错误。我正在尝试在Win-7X64位m/c中使用VisualStudio命令提示符(2010)进行编译。我看到的错误如下。dust2.objdust2.obj:errorLNK2019:unresolvedexternalsymbol_NtOpenFile@24referencedinfunction_maindust2.obj:errorLNK2019:unresolvedexternalsymbol_RtlAnsiStringToUnicodeString@12referencedinfunction_maindust2.obj:errorLNK2019:unre

c++ - Clrdump (C++) 错误 LNK2019 : unresolved external symbol __imp__RegisterFilter@8 referenced in function _main

我正在使用带有pvcs编译器的makefile系统(使用MicrosoftVisualC++,2008编译器),我收到了几个以下形式的链接错误:errorLNK2019:unresolvedexternalsymbol__imp__RegisterFilter@8referencedinfunction_main尽管使用了extern"C"声明,但还是会发生这种情况,即:extern"C"intCLRDUMP_APIRegisterFilter(LPCWSTRpDumpFileName,unsignedlongDumpType);此外,在makeexe.mak中,库链接如下:$(编译库

c++ - 警告 LNK4075 : ignoring '/EDITANDCONTINUE' due to '/INCREMENTAL:NO' specification

我有一个链接到外部.lib(libprotobuf.lib)的项目。当我在发行版中编译时,没有警告。但是,当我在调试中编译时,我收到此警告:warningLNK4075:ignoring'/EDITANDCONTINUE'dueto'/INCREMENTAL:NO'specificationFile:\libprotobuf.lib(message_lite.obj)我一直在研究这个问题,从thisquestion.开始我一直在调整项目的选项,并且(在调试配置中):/Zi-所以编辑并继续不应该打开。/INCREMENTAL-所以增量应该打开。知道为什么我仍然收到此警告吗?我最好的猜测是

c++ - 使用包含另一个静态库的静态库时出现 LNK4006、LNK4221 警告

我正在尝试使用包含其他静态库的静态库。有两个项目:Engine、MyGame'Engine'将生成Engine.lib'MyGame'将在链接时使用Engine.lib。以下是我从visualstudio2012获得的构建消息:1>------RebuildAllstarted:Project:Engine,Configuration:DebugWin32------2>------RebuildAllstarted:Project:MyGame,Configuration:DebugWin32------1>Precompiled.cpp2>Main.cpp2>LINK:fatale

c++ - 是什么导致 VS2013 错误 LNK2005 : __xi_a already defined in MSVCRT. lib(cinitexe.obj)?

我的解决方案是昨天构建的。今天,除了.hpp和.cpp文件外,它没有改变任何东西。VisualStudio2013的完整错误文本(使用2013年11月CTP):Error1errorLNK2005:__xi_aalreadydefinedinMSVCRT.lib(cinitexe.obj)C:\Users\drtwox\dev\repos\game\trunk\engine\game\LIBCMT.lib(crt0init.obj)gameError2errorLNK2005:__xi_zalreadydefinedinMSVCRT.lib(cinitexe.obj)C:\Users\