草庐IT

C++ 项目依赖问题 Visual Studio 2005

我正在开发一个定期删除特定文件夹中文件的数据管理项目。该解决方案有三个项目,其中一个是应用程序,另外两个是静态库。现在我想再添加一个项目,这是一个用于日志记录的静态库。日志记录静态库项目有一个应用项目引用的头文件。当我构建解决方案时,由于找不到头文件而出现错误。当我添加日志记录静态库项目时,我还通过在项目依赖项中检查适当的bix来使应用程序项目依赖它。谁能帮帮我? 最佳答案 它需要一个额外的包含文件路径来引用头文件目录...项目->属性->配置属性->C/C++->附加包含目录它不会自动获取头文件路径,它只知道如何链接到项目....

c++ - 如何将 Visual Studio 2005 的平台工具集添加到较新 IDE 版本的 `Platform Toolset` 列表中?

我已经安装了VisualStudio2005-2015。我将使用VisualStudio2005的平台工具集,但列表中没有此变体:如何将VisualStudio2005的平台工具集添加到较新IDE版本的PlatformToolset列表中? 最佳答案 v100是MSVC2010工具集v90是MSVC2008工具集v80是MSVC2005工具集,这就是您要找的。按照以下步骤设置MSVC2005PlatformToolset.创建v80C:\ProgramFiles\MSBuild\Microsoft.Cpp\v4.0\Platform

c++ - 如何在 Visual Studio 2005 中获得完整的调用堆栈?

如何获得使用VisualStudio2005开发的C++应用程序的完整调用堆栈?我想要一个完整的调用堆栈,包括系统库中的代码。我是否必须更改VisualStudio中的某些设置,或者我是否必须安装其他软件? 最佳答案 获取所有项目依赖项的调试信息。这是在项目属性的“配置属性->C/C++->常规”部分下指定的。在菜单上,转到“工具->选项”,然后选择“调试->符号”。添加指向Microsoft的免费符号服务器“symsrvsymsrv.dllc:\symbols*http://msdl.microsoft.com/downloads

c++ - 模板参数阴影在 VS2005 中如何工作?

在GCC中,这段代码无法编译,因为T被隐藏了,但是在VS2005中,它编译时没有警告,那么VS编译器所做的假设是什么?templateclassFoo{templatevoidBar(constT&bar){...}}; 最佳答案 经过3个月的搜索找到了正确的答案:)它在标准的14.6.1/4中:Atemplate-parametershallnotberedeclaredwithinitsscope(includingnestedscopes).Atemplate-parametershallnothavethesamenamea

C++链接器错误LNK2005已在SDL中定义

我正在使用VS2005编译我的程序。我正在链接到SDL静态库并收到以下链接器错误;1>LIBCMTD.lib(fpinit.obj):errorLNK2005:__fltusedalreadydefinedinSDL2d.lib(SDL_stdlib.obj)1>LIBCMTD.lib(ftol2.obj):errorLNK2005:__ftol2_ssealreadydefinedinSDL2d.lib(SDL_stdlib.obj)1>Creatinglibrary..\..\..\product\VS2005\libs\\Standalone.libandobject..\..\

c++ - VS2005、VS2008下C++生成的EXE速度; VS2010编译器

当我从VS6升级到VS2005时,我发现在默认编译设置下我的国际象棋引擎程序的速度提高了10%。想知道一般情况下是否也是如此,以及从那时起对MSC++编译器的最终输出进行了哪些改进(如果有的话)。 最佳答案 关于从2010之前的VC++版本迁移到VC++2010+:如果您大量使用STL容器和算法,升级到VC++2010+可能会提供显着超过10%的改进,因为VC++2010+实现了C++11的移动语义。我记得关于Boost的一个特定帖子声称从VC++2008迁移到VC++2010后,他们的应用程序性能提高了900%的邮件列表:[boo

c++ - 在 Visual Studio 2005 中基于命令行作为 GUI 应用程序或控制台应用程序启动的可执行文件

我有一个Qt应用Visual Studio 2005它使用\subsystem:windows链接,这样当我运行编译后的可执行文件时,它也不会创建命令行终端。我想创建一个命令行模式:当我使用--nogui命令行参数启动它时,GUI不会出现,但会运行一个简单的命令行程序.由于链接使用/subsystem:windows,命令行模式不显示任何std::cout输出,除非我将我的可执行文件与\subsystem链接:控制台。有没有一种方法可以设置编译/链接,使同一个可执行文件既可以显示GUI窗口,也可以根据命令行参数充当控制台应用程序?附言。我使用Qt4.2.0和VisualStudio20

c++ - visual c++ 2010 链接到较旧的运行时?

很抱歉,如果有人问过这个问题。就像我可以在C#项目中选择我希望它为.NET2.0运行时构建一样,是否可以针对较旧的CRT构建nativeC++项目,比方说来自visualstudio2005的项目?我喜欢这个,因为我有使用VS2005构建的外部SDK,但我想使用更新的IDE。 最佳答案 您可以针对2005和2008(也可以考虑2003)进行构建,只要它们与2010一起安装即可。您需要更改每个项目的平台工具集以反射(reflect)您要构建的平台(属性->常规->平台工具集),其中v100为2010、v902008、v802005等等

c++ - 错误 LNK2005 : _main already defined in hold. 对象

您好,我浏览了所有相同的错误,但我没有解决我的问题,所以我使用的是MSVC++2010,我有两个文件a.c和b.c,每个单独工作都没有错误,每个都有一个简单明了的代码。但是当我使用它们收集时显示此错误**errorLNK2005:_mainalreadydefinedina.c**在代码块IED上显示同样的错误。我认为这是指两次使用主要功能。现在我如何为两个文件使用一个主要功能代码文件a.c#include#includemain(){inta=9;if(a==7){puts("Thisisnumberseven");}else{puts("Thisisn'tnumberseven")

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

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