试图在 Visual Studio 6.0 上编译 PuTTY-PSCP(针对 Windows)的 C++ 错误 RC2104

C++ Error RC2104 trying to compile PuTTY-PSCP (for Windows) on Visual Studio 6.0

我正要使用 Windows 的 PuTTY 开发源代码来创建我自己的客户端应用程序(在此处找到:http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html)但是当我尝试编译 PSCP 项目(SCP 客户端)时,我收到以下错误:

C:\work15\Putty\windows\version.rc2 (18): error RC2104 : undefined keyword or key name: BINARY_VERSION

我已经检查了涉及此错误的各种 post,但没有发现任何有效的方法:

error RC2104: undefined keyword or key name: DS_SETFONT :

在这个 post 上,我注意到 MSVC 的版本出现了,所以我认为可能需要做一些事情才能让 PuTTY 在 VC 6.0 上工作?

我还尝试在 version.rc2(version.rc2 用于包含在所有 .rc 文件中)和 pscp.rc 中添加 #include <windows.h>,none 有效。

如果您需要任何信息(项目属性、源代码...),我会很快回答

使用 Visual Studio 6.0 SP6 on Windows 8.1

如果您搜索 PuTTY 源文件,您会注意到 BINARY_VERSIONversion.h 中定义并在 windows/version.rc2 中使用,其中 #includes version.h.

由于您的 version.rc2 没有看到 version.h,请尝试找出原因:version.h 是否仍然存在并且是否仍然包含 BINARY_VERSION?您的包含路径是否正确?在您的包含路径中的其他地方是否有另一个 version.h 被错误地拾取?

大概是看到错了version.h。 正确的,应该可以看到项目文件夹中的文件version.h

请尝试修改version.rc2:

#include "version.h"

#include "..\..\..\version.h"

至少,资源编译会成功结束。

您使用的是哪个源代码?

我测试了最新的(0.64) "Release source code for Windows"。

直接link是 http://the.earth.li/~sgtatham/putty/latest/putty-src.zip

我曾尝试在我的 PC 上使用带有 SP6 的 VC++ 6.0 Professional 进行编译, 运行 Windows XP SP3。

将 putty-src.zip 解压到保留文件夹的某个地方后 结构,您是否正确打开了 "putty-src\windows\MSVC" 文件夹中的 'putty.dsw'?

您应该在工作区的 'FileView' 选项卡中的 7 个项目中找到 在 Visual Studio 6.0.

您可以通过上下文菜单将活动项目切换到 'pscp' 右键单击 'pscp' 项目。

修改后的version.rc2,资源编译成功。 但是有两个(sshshare.c, winsftp.c)个C源文件编译失败 有 20 个错误。在 'pscp' 项目中。

编译时出错 'winsftp.c' 导致 'TIME_POSIX_TO_WIN' 和 'TIME_WIN_TO_POSIX' 宏。

'ull(unsigned long long)' 是一个 64 位整数后缀,在 C99 中新定义。由于 VC6 不支持 C99 标准,因此导致错误。

我临时修改了

11644473600ull ------> ((ULONGLONG)11644473600)

10000000ull ----------> ((ULONGLONG)10000000)

并清除已确认的错误。 (抱歉,没有验证代码是否正确生成)

编译时出现3个错误'sshshare.c'也是另一个宏引起的。

我不明白你为什么会出现 116 错误。