需要帮助为std字符串应用MinGW补丁,得到意想不到的结果

Need help applying MinGW patches for std string, getting unexpected ends

本文关键字:意想不到 结果 补丁 MinGW 帮助 std 应用 字符串      更新时间:2023-10-16

我正在尝试应用这些补丁:

http://tehsausage.com/mingw-to-string

所以我可以使用std字符串的东西,我应该可以访问。

我有MinGW 4.7.2,起初,我试着复制zip文件,没有运气。

现在我正在尝试手动应用补丁。我将补丁信息复制到文件中。将它放在与我要修补的文件相同的文件夹中,然后运行

patch < file.patch

然后得到:

 patching file stdio.h
 patch unexpectedly ends in middle of line
 Hunk #1 FAILED at 574.
 patch unexpectedly ends in middle of line
 1 out of 1 hunk FAILED -- saving rejects to file stdio.h.rej
 patch unexpectedly ends in middle of line

我确保在末尾没有额外的空白。

请帮忙!

OK,从网站上安装最新的mingw,下载补丁文件并确保它们是干净的。

我单独应用了每一个,它们都没有问题。有一个警告,它正在"从文件中剥离尾随的cr",但它正常工作。

每个补丁应用于相应的目录;例如,stdio.patch应用于/mingw/include中的stdio.h,使用:

patch </path/to/stdio.patch

wchar.patch同上

os_defines.h文件在/mingw/lib/gcc/mingw32/4.7.2/include/c++/mingw32/bits中找到,补丁也可以正常工作。

我在https://github.com/petesh/mingwpatches.git上创建了一个带有补丁的github -您可以克隆存储库,或者从那里下载单个文件。它们中的每一个都应该正确工作,而不仅仅是对尾部CR警告的抱怨。

查看补丁文件后,您可能需要对patch命令使用-c选项。这告诉patch补丁文件来自上下文差异。

$ patch -c < file.patch