<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>To address the errors below I had to add the include for
<windows.h> both in <b>src/mgr/filemgr.cpp</b> and in <b>src/modules/commons/zipmgr.cpp</b>.</p>
<p>After that I'm getting the next error:</p>
<p>1>C:\Users\tobi\Dev\sword-build-win32\sword\src\mgr\filemgr.cpp(410):
error C2664: 'BOOL FindNextFileA(HANDLE,LPWIN32_FIND_DATAA)':
cannot convert argument 2 from 'WIN32_FIND_DATAW *' to
'LPWIN32_FIND_DATAA'<br>
1>C:\Users\tobi\Dev\sword-build-win32\sword\src\mgr\filemgr.cpp(410):
note: Types pointed to are unrelated; conversion requires
reinterpret_cast, C-style cast or function-style cast</p>
<p>Best regards,<br>
Tobias<br>
</p>
<div class="moz-cite-prefix">On 7/26/20 4:44 PM, Troy A. Griffitts
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:8ba46945-3c28-4c90-df90-68a5a67cdca3@crosswire.org">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<p>Can one of you guys try simply including <windows.h> at
the top of filemgr.cpp and see if this fixes it for you?</p>
<p><br>
</p>
<div class="moz-cite-prefix">On 7/26/20 4:01 PM, Tobias Klein
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:4c1f1106-a942-9bb9-e09a-9d2cfae362c4@tklein.info">
<meta http-equiv="Content-Type" content="text/html;
charset=UTF-8">
<p>I'm getting similar error messages with Visual Studio 2019.
Note that I'm also generating the make files via CMake.<br>
</p>
<p>First couple of error messages:<br>
</p>
<div data-index="296" style="box-sizing: border-box;">
<div class="js-check-step-line CheckStep-line d-flex
log-line-plain selected" style="box-sizing: border-box;
display: flex !important; color: rgb(246, 248, 250);
background-color: rgb(88, 96, 105);"><span class="CheckStep-line-content d-inline-block flex-auto ml-3 js-check-line-content" style="box-sizing: border-box; flex: 1 1 auto !important; margin-left: 16px !important; display: inline-block !important; overflow-x: auto; white-space: pre-wrap;"><span class="" style="box-sizing: border-box;">2>D:\a\sword-build-win32\sword-build-win32\sword\src\mgr\filemgr.cpp(395,2): error C2065: 'WIN32_FIND_DATAW': undeclared identifier
</span></span></div>
</div>
<div class="moz-cite-prefix">
<div data-index="297" style="box-sizing: border-box;">
<div class="js-check-step-line CheckStep-line d-flex
log-line-plain" style="box-sizing: border-box; display:
flex !important; color: rgb(246, 248, 250);
background-color: rgb(47, 54, 61);"><span class="CheckStep-line-content d-inline-block flex-auto ml-3 js-check-line-content" style="box-sizing: border-box; flex: 1 1 auto !important; margin-left: 16px !important; display: inline-block !important; overflow-x: auto; white-space: pre-wrap;"><span class="" style="box-sizing: border-box;">2>D:\a\sword-build-win32\sword-build-win32\sword\src\mgr\filemgr.cpp(395,19): error C2146: syntax error: missing ';' before identifier 'fileData'
</span></span></div>
</div>
<div data-index="298" style="box-sizing: border-box;">
<div class="js-check-step-line CheckStep-line d-flex
log-line-plain" style="box-sizing: border-box; display:
flex !important; color: rgb(246, 248, 250);"><br
class="Apple-interchange-newline">
</div>
</div>
</div>
<div class="moz-cite-prefix">
<div data-index="298" style="box-sizing: border-box;">
<div class="js-check-step-line CheckStep-line d-flex
log-line-plain" style="box-sizing: border-box; display:
flex !important; color: rgb(246, 248, 250);
background-color: rgb(47, 54, 61);"><span class="CheckStep-line-content d-inline-block flex-auto ml-3 js-check-line-content" style="box-sizing: border-box; flex: 1 1 auto !important; margin-left: 16px !important; display: inline-block !important; overflow-x: auto; white-space: pre-wrap;"><span class="" style="box-sizing: border-box;">2>D:\a\sword-build-win32\sword-build-win32\sword\src\mgr\filemgr.cpp(395,19): error C2065: 'fileData': undeclared identifier
</span></span></div>
</div>
<div data-index="299" style="box-sizing: border-box;">
<div class="js-check-step-line CheckStep-line d-flex
log-line-plain" style="box-sizing: border-box; display:
flex !important; color: rgb(246, 248, 250);"><br
class="Apple-interchange-newline">
</div>
</div>
</div>
<div class="moz-cite-prefix">
<div data-index="299" style="box-sizing: border-box;">
<div class="js-check-step-line CheckStep-line d-flex
log-line-plain" style="box-sizing: border-box; display:
flex !important; color: rgb(246, 248, 250);
background-color: rgb(47, 54, 61);"><span class="CheckStep-line-content d-inline-block flex-auto ml-3 js-check-line-content" style="box-sizing: border-box; flex: 1 1 auto !important; margin-left: 16px !important; display: inline-block !important; overflow-x: auto; white-space: pre-wrap;"><span class="" style="box-sizing: border-box;">2>D:\a\sword-build-win32\sword-build-win32\sword\src\mgr\filemgr.cpp(398,2): error C2065: 'HANDLE': undeclared identifier
</span></span></div>
</div>
<div data-index="300" style="box-sizing: border-box;">
<div class="js-check-step-line CheckStep-line d-flex
log-line-plain" style="box-sizing: border-box; display:
flex !important; color: rgb(246, 248, 250);"><br
class="Apple-interchange-newline">
</div>
</div>
</div>
<div class="moz-cite-prefix">
<div data-index="300" style="box-sizing: border-box;">
<div class="js-check-step-line CheckStep-line d-flex
log-line-plain" style="box-sizing: border-box; display:
flex !important; color: rgb(246, 248, 250);
background-color: rgb(47, 54, 61);"><span class="CheckStep-line-content d-inline-block flex-auto ml-3 js-check-line-content" style="box-sizing: border-box; flex: 1 1 auto !important; margin-left: 16px !important; display: inline-block !important; overflow-x: auto; white-space: pre-wrap;"><span class="" style="box-sizing: border-box;">2>D:\a\sword-build-win32\sword-build-win32\sword\src\mgr\filemgr.cpp(398,9): error C2146: syntax error: missing ';' before identifier 'findIterator'
</span></span></div>
</div>
</div>
<div class="moz-cite-prefix">
<div data-index="301" style="box-sizing: border-box;">
<div class="js-check-step-line CheckStep-line d-flex
log-line-plain" style="box-sizing: border-box; display:
flex !important; color: rgb(246, 248, 250);
background-color: rgb(47, 54, 61);"><span class="CheckStep-line-content d-inline-block flex-auto ml-3 js-check-line-content" style="box-sizing: border-box; flex: 1 1 auto !important; margin-left: 16px !important; display: inline-block !important; overflow-x: auto; white-space: pre-wrap;"><span class="" style="box-sizing: border-box;">2>D:\a\sword-build-win32\sword-build-win32\sword\src\mgr\filemgr.cpp(398,9): error C2065: 'findIterator': undeclared identifier
</span></span></div>
</div>
</div>
<div class="moz-cite-prefix">
<div data-index="302" style="box-sizing: border-box;">
<div class="js-check-step-line CheckStep-line d-flex
log-line-plain" style="box-sizing: border-box; display:
flex !important; color: rgb(246, 248, 250);
background-color: rgb(47, 54, 61);"><span class="CheckStep-line-content d-inline-block flex-auto ml-3 js-check-line-content" style="box-sizing: border-box; flex: 1 1 auto !important; margin-left: 16px !important; display: inline-block !important; overflow-x: auto; white-space: pre-wrap;"><span class="" style="box-sizing: border-box;">2>D:\a\sword-build-win32\sword-build-win32\sword\src\mgr\filemgr.cpp(398,51): error C2065: 'fileData': undeclared identifier
</span></span></div>
</div>
<div data-index="303" style="box-sizing: border-box;">
<div class="js-check-step-line CheckStep-line d-flex
log-line-plain" style="box-sizing: border-box; display:
flex !important; color: rgb(246, 248, 250);"><br
class="Apple-interchange-newline">
</div>
</div>
</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">Best regards,<br>
Tobias<br>
</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">On 7/26/20 3:00 PM, Greg Hellings
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:CAHxvOVKNpZOF-m8-+rhZepAVFm69CVw9D4zKE9O-71HEBVBWBQ@mail.gmail.com">
<meta http-equiv="content-type" content="text/html;
charset=UTF-8">
<div dir="ltr">
<div dir="ltr"><br>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Sun, Jul 26, 2020 at
6:42 AM Troy A. Griffitts <<a
href="mailto:scribe@crosswire.org"
moz-do-not-send="true">scribe@crosswire.org</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">
<div>
<p>I've just committed the last bit for fixing the
WIN32 Unicode issues. If anyone can try compiling
and running Xiphos without the Xiphos patch or any
other projects for Windows, and let me know if
things work for them in folders which include
Unicode character, I would appreciate it. I've
tested BibleCS and it now works with a SWORD_PATH
defined to /books/χαρις. I've tested using and
installing modules in this configuration and believe
all the bugs are squashed, but I would love
confirmation from other projects.</p>
<p>Thanks for any feedback,</p>
<p>Troy</p>
</div>
</blockquote>
<div>During cross-compile I'm getting the following
errors:</div>
<div><br>
</div>
<div>[ 6%] Building CXX object
CMakeFiles/sword.dir/src/mgr/filemgr.cpp.obj<br>
/usr/bin/i686-w64-mingw32-g++ -DCLUCENE2
-DCURLAVAILABLE -DCURLSFTPAVAILABLE -DEXCLUDEBZIP2
-DEXCLUDEXZ
-DGLOBCONFPATH=\"/usr/i686-w64-mingw32/sys-root/mingw/etc/sword.conf\"
-DUSEICUREGEX -DUSELUCENE -DU_USING_ICU_NAMESPACE
-D_FTPLIB_NO_COMPAT -D_ICU_ -Dsword_EXPORTS
@CMakeFiles/sword.dir/includes_CXX.rsp -D_ICUSWORD_ -g3
-Wall -O0 -D_ICUSWORD_ -o
CMakeFiles/sword.dir/src/mgr/filemgr.cpp.obj -c
/builddir/build/BUILD/sword-1.8.900/src/mgr/filemgr.cpp<br>
/builddir/build/BUILD/sword-1.8.900/src/mgr/filemgr.cpp:
In static member function 'static
std::vector<sword::DirEntry>
sword::FileMgr::getDirList(const char*, bool, bool)':<br>
/builddir/build/BUILD/sword-1.8.900/src/mgr/filemgr.cpp:395:2: error:
'WIN32_FIND_DATAW' was not declared in this scope<br>
395 | WIN32_FIND_DATAW fileData;<br>
| ^~~~~~~~~~~~~~~~<br>
/builddir/build/BUILD/sword-1.8.900/src/mgr/filemgr.cpp:398:2: error:
'HANDLE' was not declared in this scope<br>
398 | HANDLE findIterator = FindFirstFileW(wcharPath,
&fileData);<br>
| ^~~~~~<br>
/builddir/build/BUILD/sword-1.8.900/src/mgr/filemgr.cpp:399:6: error:
'findIterator' was not declared in this scope<br>
399 | if (findIterator != INVALID_HANDLE_VALUE) {<br>
| ^~~~~~~~~~~~<br>
/builddir/build/BUILD/sword-1.8.900/src/mgr/filemgr.cpp:399:22: error:
'INVALID_HANDLE_VALUE' was not declared in this scope<br>
399 | if (findIterator != INVALID_HANDLE_VALUE) {<br>
| ^~~~~~~~~~~~~~~~~~~~<br>
/builddir/build/BUILD/sword-1.8.900/src/mgr/filemgr.cpp:401:35: error:
'fileData' was not declared in this scope<br>
401 | SWBuf dirEntName =
wcharToUTF8(fileData.cFileName);<br>
| ^~~~~~~~<br>
/builddir/build/BUILD/sword-1.8.900/src/mgr/filemgr.cpp:405:49: error:
'FILE_ATTRIBUTE_DIRECTORY' was not declared in this
scope<br>
405 | i.isDirectory = fileData.dwFileAttributes
& FILE_ATTRIBUTE_DIRECTORY;<br>
|
^~~~~~~~~~~~~~~~~~~~~~~~<br>
/builddir/build/BUILD/sword-1.8.900/src/mgr/filemgr.cpp:409:40: error:
'fileData' was not declared in this scope<br>
409 | } while (FindNextFile(findIterator,
&fileData) != 0);<br>
| ^~~~~~~~<br>
/builddir/build/BUILD/sword-1.8.900/src/mgr/filemgr.cpp:409:12: error:
'FindNextFile' was not declared in this scope<br>
409 | } while (FindNextFile(findIterator,
&fileData) != 0);<br>
| ^~~~~~~~~~~~<br>
/builddir/build/BUILD/sword-1.8.900/src/mgr/filemgr.cpp:410:3: error:
'FindClose' was not declared in this scope; did you mean
'_findclose'?<br>
410 | FindClose(findIterator);<br>
| ^~~~~~~~~<br>
| _findclose<br>
/builddir/build/BUILD/sword-1.8.900/src/mgr/filemgr.cpp:397:17: warning:
unused variable 'wcharPath' [-Wunused-variable]<br>
397 | const wchar_t *wcharPath = (const wchar_t
*)wcharBuf.getRawData();<br>
| ^~~~~~~~~<br>
/builddir/build/BUILD/sword-1.8.900/src/mgr/filemgr.cpp:
In static member function 'static int
sword::FileMgr::createParent(const char*)':<br>
/builddir/build/BUILD/sword-1.8.900/src/mgr/filemgr.cpp:436:5: error:
'_wmkdir' was not declared in this scope; did you mean
'mkdir'?<br>
436 | _wmkdir((const wchar_t
*)utf8ToWChar(buf).getRawData());<br>
| ^~~~~~~<br>
| mkdir<br>
make[2]: *** [CMakeFiles/sword.dir/build.make:283:
CMakeFiles/sword.dir/src/mgr/filemgr.cpp.obj] Error 1</div>
<div><br>
</div>
<div>I'm assuming there's a new package or macro I need to
define? On my system the WIN32_FIND_DATAW struct is
defined in both minwinbase.h and shtypes.h. I'm building
with MinGW which might have a different header structure
than your compilers, if you're using Borland?</div>
<div><br>
</div>
<div>--Greg<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex">
<div>
<p><br>
</p>
<div>On 7/20/20 7:18 PM, Greg Hellings wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div>Sorry for the previous blank email - user
error when I tried to reply:<br>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Sun, Jul
19, 2020 at 2:40 PM Tobias Klein <<a
href="mailto:contact@tklein.info"
target="_blank" moz-do-not-send="true">contact@tklein.info</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">
<div lang="DE">
<div>
<p class="MsoNormal"><span lang="EN-US">Thanks
for giving me the background on this,
Karl! I appreciate it!</span></p>
<p class="MsoNormal"><span lang="EN-US">Is
Xiphos the only frontend that has been
patching Sword for this purpose? Then
I suppose all other frontends suffer
from this issue, huh?</span></p>
</div>
</div>
</blockquote>
<div><br>
</div>
<div>When I first encountered this patch in
Xiphos I tested with BibleTime and The Sword
Project for Windows and both of them do crash
under these circumstances.</div>
<div><br>
</div>
<div>Yes, other toolkits such as Qt do have
wrappers for this shortcoming already, but
none of the other front ends I've worked with
have bothered to put in the effort to produce
a patched version of Sword to fix the crash.</div>
<div><br>
</div>
<div>--Greg</div>
</div>
</div>
<br>
<fieldset></fieldset>
<pre>_______________________________________________
sword-devel mailing list: <a href="mailto:sword-devel@crosswire.org" target="_blank" moz-do-not-send="true">sword-devel@crosswire.org</a>
<a href="http://www.crosswire.org/mailman/listinfo/sword-devel" target="_blank" moz-do-not-send="true">http://www.crosswire.org/mailman/listinfo/sword-devel</a>
Instructions to unsubscribe/change your settings at above page</pre>
</blockquote>
</div>
_______________________________________________<br>
sword-devel mailing list: <a
href="mailto:sword-devel@crosswire.org"
target="_blank" moz-do-not-send="true">sword-devel@crosswire.org</a><br>
<a
href="http://www.crosswire.org/mailman/listinfo/sword-devel"
rel="noreferrer" target="_blank"
moz-do-not-send="true">http://www.crosswire.org/mailman/listinfo/sword-devel</a><br>
Instructions to unsubscribe/change your settings at
above page</blockquote>
</div>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<pre class="moz-quote-pre" wrap="">_______________________________________________
sword-devel mailing list: <a class="moz-txt-link-abbreviated" href="mailto:sword-devel@crosswire.org" moz-do-not-send="true">sword-devel@crosswire.org</a>
<a class="moz-txt-link-freetext" href="http://www.crosswire.org/mailman/listinfo/sword-devel" moz-do-not-send="true">http://www.crosswire.org/mailman/listinfo/sword-devel</a>
Instructions to unsubscribe/change your settings at above page</pre>
</blockquote>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<pre class="moz-quote-pre" wrap="">_______________________________________________
sword-devel mailing list: <a class="moz-txt-link-abbreviated" href="mailto:sword-devel@crosswire.org" moz-do-not-send="true">sword-devel@crosswire.org</a>
<a class="moz-txt-link-freetext" href="http://www.crosswire.org/mailman/listinfo/sword-devel" moz-do-not-send="true">http://www.crosswire.org/mailman/listinfo/sword-devel</a>
Instructions to unsubscribe/change your settings at above page</pre>
</blockquote>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<pre class="moz-quote-pre" wrap="">_______________________________________________
sword-devel mailing list: <a class="moz-txt-link-abbreviated" href="mailto:sword-devel@crosswire.org">sword-devel@crosswire.org</a>
<a class="moz-txt-link-freetext" href="http://www.crosswire.org/mailman/listinfo/sword-devel">http://www.crosswire.org/mailman/listinfo/sword-devel</a>
Instructions to unsubscribe/change your settings at above page</pre>
</blockquote>
</body>
</html>