问题标签 [visual-c++-2005]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
14409 浏览

c++ - 在 Visual Studio 2005 中更改应用程序图标?

我想为我的游戏的演示版本使用不同的图标,并且我正在使用与完整版本不同的构建配置构建演示,使用预处理器定义锁定某些内容,使用不同的图形,等有没有一种方法可以让 Visual Studio 在演示配置中为应用程序图标使用不同的图标,但继续对完整版的配置使用常规图标?

0 投票
7 回答
15766 浏览

c++ - Capturing cout in Visual Studio 2005 output window?

I created a C++ console app and just want to capture the cout/cerr statements in the Output Window within the Visual Studio 2005 IDE. I'm sure this is just a setting that I'm missing. Can anyone point me in the right direction?

0 投票
3 回答
2047 浏览

c++ - Visual Studio 2005 中的“附加到进程”

我安装了 Visual Studio 2005(带有 SP1)并将默认设置设置为 C++ 所需的设置。

现在我打开一个解决方案并运行 exe。在“工具”菜单项下,我选择“附加进程”并将其附加到我刚刚运行的 exe 中。我在代码中的几个地方放置了断点(这个断点看起来是启用的),这些是断点绝对应该被命中的地方。但由于某种原因,我的断点没有命中。

PS:所有 pdb 都存在于正确的位置。

有没有我缺少的设置。

0 投票
3 回答
2923 浏览

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

如何获得使用 Visual Studio 2005 开发的 c++ 应用程序的完整调用堆栈?我想要一个完整的调用堆栈,包括系统库中的代码。

我是否必须更改 Visual Studio 中的某些设置,还是必须安装其他软件?

0 投票
2 回答
682 浏览

c++ - 附加到进程时,Visual Studio 2005 锁定

我有一个简单的 C++ DLL,它为 WiX 安装程序实现了一些自定义操作。

调试自定义动作通常很简单:在动作开始时放置一个临时对话框,并在对话框出现时附加到进程。

但是今天,每当我附加到该进程时,屏幕底部都会出现“Microsoft Visual Studio is Busy”气泡。我无法弄清楚这是从哪里来的。有任何想法吗?

0 投票
3 回答
1614 浏览

c++ - 在 Visual Studio 2005 中调试多项目 (C++) 解决方案

我目前正在开发一个应用程序,该应用程序由五个通过 ActiveMQ 通信的独立可执行文件组成。我有一个包含五个可执行项目的 Visual Studio 解决方案。其中一个项目(launcher.exe)从它们的本地文件夹作为单独的进程启动其他四个项目。因此,启动器项目被设置为“启动项目”,因此,由于我对 VS2005 的了解有限,它是我唯一可以设置断点和调试的项目。

如果启动器项目是从 VS 执行的唯一项目,有没有办法在我的单个 VS 解决方案中跨我的五个 c++ 项目设置多个断点并同时调试它们?

注意: 不能通过 Visual Studio 手动启动每个项目的新实例,因为它们的执行需要由 launcher.exe 同步。

如果这很复杂,我很抱歉,这是我能解释的最好的。在此先感谢您的帮助!

0 投票
3 回答
897 浏览

c++ - 在 Visual Studio 2005 c++ 多线程程序中跟踪函数的进入和退出的快速方法是什么?

由于我使用 activemq-cpp API 的方式,我的 ActiveMQ 库中发生间歇性崩溃。如果我能观察到导致崩溃的每个函数都被调用,那么调试问题会容易得多。是否有任何快速方法可以跟踪 Visual Studio 2005 c++ 多线程程序中函数的进入和退出?

提前致谢!

0 投票
4 回答
5623 浏览

c++ - 链接器错误 C++ Visual Studio 2005

对于我什至没有直接调用的方法,我在 Visual Studio 中遇到了一大堆链接器错误。我白天是一名 Java 开发人员,但我有一个需要用 C++ 完成的项目,旨在在 Windows 机器上运行。因此,我被困在 Visual Studio 上。

Bascally,我有一个 os 项目,我添加了一个访问器方法。我将该项目编译为 .lib 文件(编译和链接很好)。

然后我有自己的项目使用该库。我已将库包含在 Project->Properties -> Linker -> Input 下,并在 General -> Additional Lib Directories 中设置适当的目录。我已将标头包含在适当的文件中,我只是调用其中一个类的构造函数……甚至没有调用我创建的方法。

代码可以编译,但我得到以下大量链接器错误——主要是 LNK2019 和 LNK2001 错误。我尝试在不同的设置(lib、exe 等)下重新编译,链接器错误似乎只会成倍增加。当我切换回以前的设置时,错误数量仍处于峰值。任何想法如何解决这一问题?

构建日志

构建开始:项目:SpamCapture,配置:调试|Win32

命令行:

创建临时文件“c:\SpamCapture\SpamCapture\SpamCapture\Debug\RSP0000103081740.rsp”,内容为 [ /VERBOSE:LIB /OUT:"C:\SpamCapture\SpamCapture\SpamCapture\Debug\SpamCapture.exe" /INCREMENTAL /LIBPATH: "C:\SpamCapture\Config\Debug\" /MANIFEST /MANIFESTFILE:"Debug\SpamCapture.exe.intermediate.manifest" /NODEFAULTLIB:"libcmtd.lib" /NODEFAULTLIB:"nafxcwd.lib" /DEBUG /PDB:"c :\SpamCapture\SpamCapture\SpamCapture\Debug\SpamCapture.pdb" /SUBSYSTEM:CONSOLE /MACHINE:X86 KeyCapture_Config.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32 .lib uuid.lib odbc32.lib odbccp32.lib

“.\Debug\Interaction.obj”

“.\Debug\InteractionSet.obj”

“.\Debug\LogReader.obj”

".\Debug\SpamCapture.obj"

“.\调试\stdafx.obj”

".\Debug\SpamCapture.res"

".\Debug\SpamCapture.exe.embed.manifest.res" ] 创建命令行 "link.exe @c:\SpamCapture\SpamCapture\SpamCapture\Debug\RSP0000103081740.rsp /NOLOGO /ERRORREPORT:PROMPT"

输出窗口:

正在链接... LINK:警告 LNK4067:入口点不明确;选择 'mainCRTStartup' 搜索库 搜索 C:\SpamCapture\Config\Debug\KeyCapture_Config.lib: 搜索 C:\Program Files\Microsoft Visual Studio 8\VC\lib\kernel32.lib: 搜索 C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\user32.lib:搜索 C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\gdi32.lib:搜索 C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\ lib\winspool.lib:搜索 C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\comdlg32.lib:搜索 C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\advapi32.lib:搜索 C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\shell32.lib: 搜索 C:

链接器错误从这里开始:

KeyCapture_Config.lib(KeyCapture_ConfigDlg.obj) : 错误 LNK2001: 无法解析的外部符号 "public: virtual int __thiscall CWnd::Create(char const *,char const *,unsigned long,struct tagRECT const &,class CWnd *,unsigned int,struct CCreateContext *)" (?Create@CWnd@@UAEHPBD0KABUtagRECT@@PAV1@IPAUCCreateContext@@@Z)

......更像这样的一堆

KeyCapture_Config.lib(KeyCapture_ConfigDlg.obj) : 错误 LNK2019: 无法解析的外部符号 "public: struct HICON__ * thiscall CWinApp::LoadIconA(unsigned int)const " (?LoadIconA@CWinApp@@QBEPAUHICON @@I@Z) 在函数中引用"公共:__thiscall CKeyCapture_ConfigDlg::CKeyCapture_ConfigDlg(class CWnd *)" (??0CKeyCapture_ConfigDlg@@QAE@PAVCWnd@@@Z)

......更多这样的

(?DoDataExchange@SetupDialog@@MAEXPAVCDataExchange@@@Z) C:\SpamCapture\SpamCapture\SpamCapture\Debug\SpamCapture.exe:致命错误 LNK1120:34 个未解决的外部

结果:

构建日志保存在“file://c:\SpamCapture\SpamCapture\SpamCapture\Debug\BuildLog.htm” SpamCapture - 44 个错误,1 个警告

0 投票
5 回答
2203 浏览

c++ - 在 Visual Studio 2005 中重用目标文件

情况如下:

我有一个带有两个项目的 VS2005 解决方案:MyDll (DLL)、MyDllUnitTest (console EXE)。

在 MyDll 中,我有一个名为 MyClass 的类,它位于 DLL 内部,不应导出。我想在 MyDllUnitTest 中对其进行测试,所以我添加了一个名为 MyClassTest 的测试套件类,我在其中创建了 MyClass 的实例并对其进行测试。

我的问题:如何将通过构建 MyDll 创建的 MyClass 的目标文件链接到 MyDllUnitTest EXE?我不想在 MyDllUnitTest 中构建 MyClass,也不想导出该类。

我尝试对两个项目使用相同的中间目录(因此目标文件位于同一目录中)并使用 VS2005 的引用功能(右键单击项目 --> 引用 --> 添加新引用...),但它没有t 工作 - 我仍然收到链接错误(LNK2001)。

编辑:我不想在两个项目中拥有相同的源文件 - 考虑到我有很多 MyClass/MyClassTest,这意味着我必须将每个 MyClass 复制到不同的项目中。我知道可以在两个项目中使用相同的目标文件,我以前见过它,但忘记了如何。

编辑:我决定将文件放在两个项目中,所以它们被编译了两次。事实证明,“参考”功能自动工作 - 但仅适用于静态库项目。

0 投票
7 回答
7815 浏览

c++ - 使用 Visual Studio 2005 调试时调用函数?

我知道这可能是可能的,但我从来没有设法
在 VS2005(C++) 中,在调试时,能够从我正在调试的代码中调用一个函数。
当调试复杂的数据结构时,这个特性有时是必不可少的,仅使用观察窗口的正常功能就无法轻松地探索这些数据结构。
监视窗口似乎允许编写函数调用,但每次我尝试它都会给我一个或另一个错误。

Error: symbol "func" not found
Error: argument list does not match function
Error: member function not present

有没有人成功地使这项工作正常进行?我在这里想念什么?

编辑:显然,调用的函数应该是调试器所在的当前范围内存在的符号。