Since under Windows, you need minGW to compile modules, does this let us link Assembled files ex "DragosLib.a" into the modules, or will we have to wait to a future update to bea ble to do this?
Module Building, and MinGW
Miscellaneous Forums/Win32 Discussion/Module Building, and MinGW (Edited crap: didn't notice fasm was in the beta!)
Hi,
Should work as-is. Try creating and importing a '.s' file.
Should work as-is. Try creating and importing a '.s' file.
Yup. GCC (which is the base of mingw) is able to compile :
.c (C sourcecode)
.s (ASM sourcecode)
.cpp (C++ sourcecode)
and some others (fortran 77 and a few things I saw in gcc's man page).
.c (C sourcecode)
.s (ASM sourcecode)
.cpp (C++ sourcecode)
and some others (fortran 77 and a few things I saw in gcc's man page).
strange thing is I haven't GCC or MingW installed ( anymore. Had with DevC++ ) and BMax works ... straange
but good that it works :)
but good that it works :)
* 'Build modules' requires MINGW to be installed under Win32. You will also need to add mingw/bin to your PATH env variable and add an env variable called MINGW pointing to the root mingw dir.
How do you do the above. I installed MinGW to c:\MinGW.
How do I set up paths and stuff because I cant seem to build modules?
[edit]
this is the error I get when I try to build modules after syncmod.
Building Modules Compiling:blitz_app.c 'gcc' is not recognized as an internal or external command, operable program or batch file. Build Error: failed to compile C:/Applications/Coding/BlitzMaxBeta/mod/brl.mod/blitz.mod/blitz_app.c Process complete
Please help.
@Amon:
It depends on your system...
Win9x : Edit C:\AUTOEXEC.BAT and add the path to "bin" directory of MingW to the PATH
eg. if you have :
Change it to :
Now if you have Win2k (should work also with WinMe/Xp/NT/etc...) :
Right click "My Computer"
Select "Properties"
Open tab "Advanced"
Click "Environnement Variables"
Search for the variable "PATH"
Click "Modify"
Add to the end : ";C:\Mingw\bin" (without the quotes)
And *DON'T* post on other topics to ask help !
It depends on your system...
Win9x : Edit C:\AUTOEXEC.BAT and add the path to "bin" directory of MingW to the PATH
eg. if you have :
set PATH=C:\;C:\WINDOWS
Change it to :
set PATH=C:\;C:\WINDOWS;C:\Mingw\bin
Now if you have Win2k (should work also with WinMe/Xp/NT/etc...) :
Right click "My Computer"
Select "Properties"
Open tab "Advanced"
Click "Environnement Variables"
Search for the variable "PATH"
Click "Modify"
Add to the end : ";C:\Mingw\bin" (without the quotes)
And *DON'T* post on other topics to ask help !
Thx for the help :)
It works now :)
It works now :)
Should I install Fasm or MINGW ?
If Fasm, which version ? The WIN32 console one, or the WIN32GUI ?
Please elaborate...
Sergio.
If Fasm, which version ? The WIN32 console one, or the WIN32GUI ?
Please elaborate...
Sergio.
not sure if this is intentional or not, but there's a fasm.exe in the bin directory of the Beta.
Yes you're right, I didn't notice.
Does that means we don't need to install any MingW/fasm ?
I'm a bit confused...
Also, I'm skeptical about this syncronization method, since it does not work if your internet connection goes through a proxy; anyway, could we also have a traditional installer to be downloaded from the account page, as we always did with the previous Blitz versions ?
What's the advantage of this sync in respect to the download ?
Sergio.
Does that means we don't need to install any MingW/fasm ?
I'm a bit confused...
Also, I'm skeptical about this syncronization method, since it does not work if your internet connection goes through a proxy; anyway, could we also have a traditional installer to be downloaded from the account page, as we always did with the previous Blitz versions ?
What's the advantage of this sync in respect to the download ?
Sergio.
Should I install Fasm or MINGW ?
Just MinGW. What's the advantage of this sync in respect to the download ?
Instant gratification? thanks for the replys.
got some more questions.
Why can't we include headers, ie .h.
and how do I set an external function that is in a class.
ie
so in Max i have.
I have also tried
and it responds with "Identitfier GetMe not found"
got some more questions.
Why can't we include headers, ie .h.
and how do I set an external function that is in a class.
ie
class cNumber { public: DoubleMe() { me+=me;) int GetMe() {return me;} private; cNumber() { me=1;} int me; }
so in Max i have.
import "number.cpp" extern function GetMe%() function DoubleMe() end extern
I have also tried
import "number.cpp" extern function cNumber:GetMe%() function cNumber:DoubleMe() end extern
and it responds with "Identitfier GetMe not found"
Unfortunately there is no C++ object support at this time so you need to build C style wrappers for your methods and declare them as Extern "C" in your headers to avoid C++ name mangling headaches.
I think also from BlitzMax you need to declare the extern block as win32 like this to get correct Windows linkage:
I think also from BlitzMax you need to declare the extern block as win32 like this to get correct Windows linkage:
Extern "win32" Function timeGetTime() End Extern
Unfortunately there is no C++ object support at this time
Any idea when this will be supported (you say 'at this time' so I assume it's a feature that will be included with some update)?
ahh, ok, so I have to make a wrapper for it, hmm will there be proper c++ support in the future?
ahh, ok, so I have to make a wrapper for it,
Will there be proper c++ support in the future?
Will there be proper c++ support in the future?