On Tue, 04 Aug 2015, Mel Smith wrote:
Hi Mel,
> Things went well *until* the build failed with 'unable to locate
> unicows.dll'.
> Then, I went google-looking for this dll and found a free downloadable
> unicows.dll.7z file, unzipped it, and placed it in the c:\windows\system32\
> sub-dir.
> Then, when I re-started the build, I had more errors: (e.g., 'the
> procedure point _SetLastError@4 could not be located in the dynamic link
> library unicows.dll'.
> So, I need a bit more help please.
This is quite common problem with BCC reported here.
Newer BCC versions comes with its own unicows.lib in
lib/psdk directory and this library refers to above
function.
Usually it's not a problem because Harbour correctly
sets all paths and gives higher priority to
harbour/lib/3rd/win/bcc directory where you can find
correct version of BCC. Anyhow in your case you have
installation where BCC bin/ilink32.cfg contains
-L option with reference to BCC lib/psdk path what
changes the priority. For BCC -I and -L paths defined
in bin/bcc32.cfg and bin/ilink32.cfg have the highest
priority. Unfortunately some peoples suggested to use
bin/bcc32.cfg and bin/ilink32.cfg and even add local
paths to these files and now it often creates problems,
i.e. few users tried to compile Harbour having references
to xHarbour installation in above BCC .cfg files.
As you can imagine results of such compilation were
completely broken.
For Harbour only you can remove or rename above BCC
files. Harbour will set all paths correctly.
If you do not want to change them and you do not have
any references to other then core BCC paths inside
(all such references can create conflicts with Harbour
core files) then you can keep them but you should
replace lib/psdk/unicows.lib with
harbour/lib/3rd/win/bcc/unicows.lib.
best regards,
Przemek