[solved] Error compiling C files on Windows 10...

Archives Forums/Win32 Discussion/[solved] Error compiling C files on Windows 10...

Fielder(Posted 2016) [#1]
i can compile aBRL module.. like DXGRAPHICS for example...
but when i compile the FREEPROCESS module that as a C file inside i receive this:

C:\BlitzMax\bin>bmk makemods pub.freeprocess
Build Error: failed to compile C:/BlitzMax/mod/pub.mod/freeprocess.mod/freeprocess.c

i found some related issues on forum but without a valid solution. :(

Derron(Posted 2016) [#2]
Please link to the related issues which did not contain valid solutions.

Hint: mingw.


Fielder(Posted 2016) [#3]

mathieu requested this thing a lot of years ago .. but no answer.. (and this is a tutorial section)

and i've not the freepascal, but a clean version of windows 10 pro... with MINGW path on user variables and on system variables. ( http://www.blitzbasic.com/Community/posts.php?topic=90964 see last post )

i've placed the MINGW path on path variable.. but i've the same issue.

[edit] NOW i've removed my mingw folder.. and replaced with the mingw32 folder (with path changes) from the 4.7.1 installer... (maybe the issue is win10?)

OK... after reinstalling Mingw from 32Bit TDM installer i'he to RESTART windows 10 to have IT WORKING.... (PATH APPLICATION?) .... yesterday i've tried a lot of changes JUST LOGGING OFF THE USER (and not restarting the OS)

Derron(Posted 2016) [#4]
Vanilla Blitzmax (not NG) takes care of PATH setups. With BlitzMax NG you could use custom MinGW (compared to the system wide one).

Glad you got it solved.

@other topic
This is a bit outdated (uses "syncmods" which is not available for years now).

Regardless of this: you might have had installed a incompatible MinGW (incompatible to some of Bruceys modules) - or you missed to copy the lib-folder-content of your MinGW installation to BlitzMax/libs ... or something else.
But as long as you got it working it should no longer matter.


Fielder(Posted 2016) [#5]
ARGH.. after replacing the MINGW32 (an no changes to BLITZMAX folder)

i receive this error:

flat assembler version 1.69.14 (1572863 kilobytes memory)
5 passes, 3.2 seconds, 12924649 bytes.
C:/BlitzMax/bin/ld.exe: cannot find -lversion
Build Error: Failed to link D:/test.exe
Process complete

i need the -lversion .... (for registry access using windows apis)

Import "-lversion" 

fixed coping the LIB folder , THANK YOU Derron!

Brucey(Posted 2016) [#6]
What is libversion.a used for?

Fielder(Posted 2016) [#7]
registry access,, removing this IMPORT i can't compile this:
D:/BMX/test/.bmx/test.bmx.gui.release.win32.x86.o:(code+0x479753): undefined reference to `GetFileVersionInfoSizeW@8'
D:/BMX/test/.bmx/test.bmx.gui.release.win32.x86.o:(code+0x479791): undefined reference to `GetFileVersionInfoW@16'
D:/BMX/test/.bmx/test.bmx.gui.release.win32.x86.o:(code+0x4797d3): undefined reference to `VerQueryValueW@16'
D:/BMX/test/.bmx/test.bmx.gui.release.win32.x86.o:(code+0x479986): undefined reference to `VerQueryValueW@16'
D:/BMX/test/.bmx/test.bmx.gui.release.win32.x86.o:(code+0x479ada): undefined reference to `VerQueryValueW@16'
D:/BMX/test/.bmx/test.bmx.gui.release.win32.x86.o:(code+0x479fa1): undefined reference to `VerQueryValueW@16'
D:/BMX/test/.bmx/test.bmx.gui.release.win32.x86.o:(code+0x47a0f0): undefined reference to `VerQueryValueW@16'
D:/BMX/test/.bmx/test.bmx.gui.release.win32.x86.o:(code+0x47a23f): more undefined references to `VerQueryValueW@16' follow
D:/BMX/test/.bmx/test.bmx.gui.release.win32.x86.o:(code+0x47a498): undefined reference to `GetFileVersionInfoSizeW@8'
D:/BMX/test/.bmx/test.bmx.gui.release.win32.x86.o:(code+0x47a4d6): undefined reference to `GetFileVersionInfoW@16'
D:/BMX/test/.bmx/test.bmx.gui.release.win32.x86.o:(code+0x47a518): undefined reference to `VerQueryValueW@16'
D:/BMX/test/.bmx/test.bmx.gui.release.win32.x86.o:(code+0x47a6cb): undefined reference to `VerQueryValueW@16'
D:/BMX/test/.bmx/test.bmx.gui.release.win32.x86.o:(code+0x47a81f): undefined reference to `VerQueryValueW@16'
D:/BMX/test/.bmx/test.bmx.gui.release.win32.x86.o:(code+0x47ad8a): undefined reference to `VerQueryValueW@16'
D:/BMX/test/.bmx/test.bmx.gui.release.win32.x86.o:(code+0x47af16): undefined reference to `VerQueryValueW@16'
Build Error: Failed to link D:/BMX/test/test.exe

do you have idea on HOW to remove this IMPORT?

Brucey(Posted 2016) [#8]
Search your MinGW32 dir for the file, and copy it to your BlitzMax/lib folder.

Are you sure this library is for registry access? The APIs appear to be concerned with examining DLLs (version information, etc).

Brucey(Posted 2016) [#9]
You may also want to try my newly committed BaH.Registry module.
Tested on XP, Windows 7, 32-bit and 64-bit.

Fielder(Posted 2016) [#10]
:) wow thx for the module Brucey!

and brucey how i can DELETE a HKLM/SOFTWARE/XXX key from a 32 Bit app?
i don't see flags for that type of things... and using the RegDeleteKey the key deleted was on SYSWOW64 and not on NATIVE 64 registry. (using a 32 bit compilation)

Brucey(Posted 2016) [#11]
You should be able to open the registry key using the KEY_WOW64_32KEY (or KEY_WOW64_64KEY) flag in addition to the standard flags for opening a key, as part of the samDesired argument.

At least, that is how I understand it to work, going by the documentation.