试图在 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_VERSION
在 version.h
中定义并在 windows/version.rc2
中使用,其中 #include
s 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 错误。
我正要使用 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_VERSION
在 version.h
中定义并在 windows/version.rc2
中使用,其中 #include
s 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 错误。