<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
span.pl-k
        {mso-style-name:pl-k;}
span.pl-pds
        {mso-style-name:pl-pds;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style></head><body lang=DE link=blue vlink="#954F72"><div class=WordSection1><p class=MsoNormal><span lang=EN-US>Hi all,<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>In an attempt to improve the Sword build process for Win32 I’ve automated this now, using the GitHub actions functionality.<o:p></o:p></span></p><p class=MsoNormal><a href="https://github.com/tobias-klein/sword-build-win32">https://github.com/tobias-klein/sword-build-win32</a><o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>This repository links to the SWORD dependencies (CURL, ICU, etc.) in the form of Git submodules. It also links SWORD (using the Git mirror from BibleTime) as a submodule.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I’ve set up automatic build scripts, which means whenever one of the versions (of either Sword or any of its dependencies) in the scripts has been changed and pushed back to GitHub a new build will be automatically created. When a release is published, the corresponding release binaries (dlls) are automatically generated and the current SWORD headers are also included in the release zip file. The zip file (containing the libraries and headers) is then automatically attached to the release page on GitHub. The compiler used to build the dependencies and SWORD itself is Visual Studio 2019.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>An example is the current „development release“ 1.8.900-2020-02-16.<o:p></o:p></p><p class=MsoNormal><a href="https://github.com/tobias-klein/sword-build-win32/releases/tag/v1.8.900-2020-02-16">https://github.com/tobias-klein/sword-build-win32/releases/tag/v1.8.900-2020-02-16</a><o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I’m using these auto-generated binaries now for the Windows build of node-sword-interface, the SWORD backend of Ezra Project (before I was using manually generated Windows binaries that I created a year ago).<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>There is one odd thing that I had to do when linking against the sword.dll. I had to include the following snippet in node-sword-interface:<o:p></o:p></p><p class=MsoNormal><span class=pl-k><span style='font-size:9.0pt;font-family:Consolas;color:#D73A49;background:white'>char</span></span><span style='font-size:9.0pt;font-family:Consolas;color:#24292E;background:white'> * sword::SWBuf::nullStr = (</span><span class=pl-k><span style='font-size:9.0pt;font-family:Consolas;color:#D73A49;background:white'>char</span></span><span style='font-size:9.0pt;font-family:Consolas;color:#24292E;background:white'> *)</span><span class=pl-pds><span style='font-size:9.0pt;font-family:Consolas;color:#032F62;background:white'>""</span></span><span style='font-size:9.0pt;font-family:Consolas;color:#24292E;background:white'>;</span><o:p></o:p></p><p class=MsoNormal>For some reason this symbol is stripped out of sword.dll and unless I add it in the software that links against sword.dll I get a linker error …<o:p></o:p></p><p class=MsoNormal>I already needed to handle this issue when building Sword for Windows manually one year ago.<br><br><o:p></o:p></p><p class=MsoNormal>Best regards,<br>Tobias<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>PS:<o:p></o:p></p><p class=MsoNormal><a id=OWAAM2F0EBB06AB284B90B9E7A3A664E2C631Z href="mailto:scribe@crosswire.org"><span style='font-family:"Calibri",sans-serif;text-decoration:none'>@Troy</span></a><o:p></o:p></p><p class=MsoNormal>For some reason I couldn’t observe the recently described crash anymore in this most recent build.</p></div></body></html>