4

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

C:\work\2015\Putty\windows\version.rc2 (18):错误 RC2104:未定义的关键字或键名:BINARY_VERSION

我一直在浏览涉及此错误的各种帖子,但没有发现任何工作:

错误 RC2104:未定义的关键字或键名:DS_SETFONT

在这篇文章中,我注意到 MSVC 的版本已经提出,所以我想可能需要做些什么才能让 PuTTY 在 VC 6.0 上工作?

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

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

在 Windows 8.1 上使用带有 SP6 的 Visual Studio 6.0

4

3 回答 3

7

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

请尝试修改version.rc2

#include "version.h"

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

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

于 2015-05-12T18:01:19.650 回答
2

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

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

于 2015-05-12T14:04:09.573 回答
0

您使用的是哪个源代码?

我测试了最新的(0.64)“发布 Windows 源代码”。

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

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

将 putty-src.zip 提取到保留文件夹结构的某个位置后,您是否正确打开了“putty-src\windows\MSVC”文件夹中的“putty.dsw”?

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

您可以通过右键单击“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)

并清除确认的错误。(对不起,没有验证代码是否正确生成)

编译 'sshshare.c' 时的 3 个错误也导致另一个宏。

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

于 2015-05-13T13:35:54.577 回答