<div dir="ltr">Hi Christian, the line endings/format are correct in the files I have. I did not need to make changes.<br><div>I made the int128 change and it actually made no difference. Digging deeper, I found that I also had to remove these defines:</div><div><ul><li>HAVE_UNISTD_H<br></li><li>HAVE_ATTR_PACKED<br></li></ul><div>Only then did VS 2022 finally compile. You didn't have to remove those defines to get it to work?</div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Apr 27, 2022 at 11:22 AM Christian Franke <<a href="mailto:Christian.Franke@t-online.de">Christian.Franke@t-online.de</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi Eaton,<br>
<br>
Christian Franke wrote:<br>
> Hi Eaton,<br>
><br>
> Eaton Zveare wrote:<br>
>> ...<br>
>> >> /If you plan to use Linux-like tools more often, I would recommend <br>
>> to use Cygwin./<br>
>><br>
>> I think that adds a dependency on a cygwin dll though? If so, that is <br>
>> not appealing.<br>
><br>
> Yes and no.<br>
> "./configure" without arguments results in Cygwin binaries which <br>
> requires some cyg*.dll.<br>
> "./configure --build=$(./config.guess) --host=x86_64-w64-mingw32" <br>
> results in non-Cygwin binaries.<br>
><br>
><br>
>> >> /The make commands for VC16 (VS2019) are now:/<br>
>> >> /make config-vc/<br>
>> >> ...<br>
>><br>
>> That command works, but Visual Studio still won't compile: <br>
>> <a href="https://i.imgur.com/nmIAy9h.png" rel="noreferrer" target="_blank">https://i.imgur.com/nmIAy9h.png</a><br>
>> I should note I am using Visual Studio 2022. Is there a firm <br>
>> dependency on 2019, or is there something I can change in the project <br>
>> settings to make it work in 2022?<br>
><br>
> I don't know and will try with VS 2022 soon and commit the related <br>
> project files.<br>
><br>
><br>
<br>
Meantime I found two issues which also affect VS 2015/17/19.<br>
<br>
1. Due to changes in recent Windows versions of GNU sed, the <br>
svnversion.h and config.h files are not properly generated if the <br>
checkout was done with CR/LF instead of LF line endings.<br>
<br>
2. The 64-bit Version of Mingw-w64 supports '__int128', but VS 2022 <br>
still does not, so HAVE___INT128 should be removed from config.h<br>
<br>
<br>
It would take some time to commit the fixes. Meantime, you could use <br>
this quick workaround:<br>
<br>
In the directory where '../configure' was run, for example "vctmp" as in <br>
INSTALL file, do:<br>
<br>
- Edit svnversion.h and remove the bogus carriage return (^M) in the <br>
second line if present:<br>
<br>
#define SMARTMONTOOLS_SVN_REV  "5363[^M]"<br>
<br>
- Convert config.h to unix (LF) format if necessary, for example with:<br>
<br>
dos2unix config.h<br>
<br>
- Remove the line '#define HAVE___INT128 1' from config.h, for example with:<br>
<br>
sed -i.bak '/HAVE___INT128/d' config.h<br>
<br>
- recreate the VC16 specific configuration files:<br>
<br>
make config-vc<br>
<br>
- Open ../os_win32/vc16/smartmontools.sln in VS 2022 and proceed as usual.<br>
<br>
Regards,<br>
Christian<br>
<br>
</blockquote></div>