UniversalSpeech icon indicating copy to clipboard operation
UniversalSpeech copied to clipboard

how to compile UniversalSpeech.dll 64 bits

Open AlexanderPanshin opened this issue 2 years ago • 5 comments

Greetings. Tell me how to compile UniversalSpeech.dll 64 bits The make utility gives an error mingw32-make: *** [makefile:50: objd/src/windows/screenReaderAPICompat.o] Error 2

AlexanderPanshin avatar Jan 12 '23 16:01 AlexanderPanshin

Yup, I get the same thing, no matter what configuration I try to compile in.

TheQuinbox avatar May 19 '23 20:05 TheQuinbox

@AlexanderPanshin and @TheQuinbox: Sorry, but I can't do anything only with that. It looks like your error message is incomplete. It doesn't tell me at all why compilation of that file failed. Could you try to post the entire output ? Thank you.

qtnc avatar May 20 '23 15:05 qtnc

@qtnc, here's my full shell session: Microsoft Windows [Version 10.0.19045.2965] (c) Microsoft Corporation. All rights reserved.

C:\Users\Quin>cd C:\Users\Quin\git\c

C:\Users\Quin\git\c>git clone https://www.github.com/qtnc/universalSpeech Cloning into 'universalSpeech'... warning: redirecting to https://github.com/qtnc/universalSpeech.git/ remote: Enumerating objects: 424, done. remote: Counting objects: 100% (104/104), done. remote: Compressing objects: 100% (65/65), done. Receiving objects: 100% (424/424), 1.16 MiB | 3.06 MiB/s, done. 320

Resolving deltas: 100% (209/209), done.

C:\Users\Quin\git\c>cd universalSpeech

C:\Users\Quin\git\c\universalSpeech>mingw32-make process_begin: CreateProcess(NULL, mkdir.exe -p objd/src/windows/, ...) failed. make (e=2): The system cannot find the file specified. mingw32-make: *** [makefile:50: objd/src/windows/screenReaderAPICompat.o] Error 2

C:\Users\Quin\git\c\universalSpeech>

TheQuinbox avatar May 20 '23 22:05 TheQuinbox

Thank you. Now I can explain what's going on. You have two solutions:

  • Put mkdir.exe in the path. That mkdir.exe can be found in several distributions. You can find it in git, OpenSSH, MSYS, GNU for windows, to name a few.
  • Remove the ".exe" suffix in the makefile, but you still need one of the mkdir program just mentioned. Normally, that ".exe" suffix shouldn't be there as it prevent compilation from mac or linux for example (it doesn't make sense here, but still).

The standard mkdir windows command don't support the -p option, which allow creating directories recursively, and just don't nothing instead of returning an error if the given directory already exists. This option works on all UNIX/linux distributions I know about.

I have two machines. If I remove the .exe suffix, it continues working on one, but not on the other. I have never understood why. ON the machine where it doesn't work, the default mkdir windows command takes the priority, and then obviously it returns an error about the unsupported -p switch.

If you have an idea how I can fix this problem so that it works everywhere without the .exe suffix, you are welcome.

qtnc avatar May 22 '23 04:05 qtnc

Adding %USERPROFILE%\scoop\apps\git\current\usr\bin to path fixed the issue. Now it compiles (all be it with some warnings). Thanks a ton!

TheQuinbox avatar May 22 '23 13:05 TheQuinbox