coffIT - create obj and lib static libraries from PB source!
Well, coffIT works fine here on the entire program you sent me (on XP and Vista).
The only thing I will say is that you haven't followed the 'rule' where comments are concerned!!! You need to read the instructions for that. Still, I would expect any problem with this to be reflected on my system.
Now what you need to do is get coffIT to create a log file and then send me a copy of that file (after coffIT fails to work) as well as a copy of the error message being produced. If it is a Fasm message then it should detail the exact asm instruction which is playing silly buggers!
In this case I would have to ask which version of Fasm your installation is using? I have chopped and changed mine around so much that I could well be using a different version than you!
The only thing I will say is that you haven't followed the 'rule' where comments are concerned!!! You need to read the instructions for that. Still, I would expect any problem with this to be reflected on my system.
Now what you need to do is get coffIT to create a log file and then send me a copy of that file (after coffIT fails to work) as well as a copy of the error message being produced. If it is a Fasm message then it should detail the exact asm instruction which is playing silly buggers!

I may look like a mule, but I'm not a complete ass.
Okay - problem sorted!!!
CoffIT prepends the name of the source file being worked on to all symbols being made public for the sake of sharing amongst all the different .obj files. If your source file name contains some weird characters then FASM may well blow a gasket or two! You've been warned!
CoffIT prepends the name of the source file being worked on to all symbols being made public for the sake of sharing amongst all the different .obj files. If your source file name contains some weird characters then FASM may well blow a gasket or two! You've been warned!

I may look like a mule, but I'm not a complete ass.
- netmaestro
- PureBasic Bullfrog
- Posts: 8451
- Joined: Wed Jul 06, 2005 5:42 am
- Location: Fort Nelson, BC, Canada
Using CoffIT 2 beta 1 for PB 4.3 downloaded from nxSoftware today, I played with it a bit on WinXP / PureBasic 4.3 final and tried a couple of examples. All went fine until suddenly CoffIT lost the capacity to find the Purebasic compiler. Now no matter what I try every time I execute CoffIT I get a messagebox saying "Cannot locate Purebasic Compiler". I've reinstalled PB, re-unzipped CoffIT into a clean folder, restarted the computer, added the Purebasic\compilers folder into my global PATH, put CoffIT.exe in the same folder with PBCompiler.exe, nothing helps at all.
BERESHEIT
- netmaestro
- PureBasic Bullfrog
- Posts: 8451
- Joined: Wed Jul 06, 2005 5:42 am
- Location: Fort Nelson, BC, Canada
Haven't time to work on CoffIT at the moment I'm afraid so the answer has to be no, even for what is a minor request - sorry.netmaestro wrote:Would it be possible for CoffIT, upon failing to find the path, to ask me for it as an alternative to shooting me in the head with a messagebox?
Try downloading the PB 4.3 version now netmaestro. See if that works?
**EDIT : are you using XP or Vista?
I may look like a mule, but I'm not a complete ass.
- netmaestro
- PureBasic Bullfrog
- Posts: 8451
- Joined: Wed Jul 06, 2005 5:42 am
- Location: Fort Nelson, BC, Canada
Yes it was on XP that the problem arose. It would seem that PB 4.3 placed it's registry entries into a different key; at least a key that was different for XP. My code for retrieving the PB path was simply a little out of date!netmaestro wrote:Thanks, tried the new version and it works. Using XP.

I may look like a mule, but I'm not a complete ass.
Have you read the CoffIT manual?
If not, then it explains the pitfalls of attempting to use an MSCOFF object file created by Purebasic with another programming language.
Basically, if you wish to do this then you have to avoid using any Purebasic commands which reside in a PB external library. For example, if your code uses Purebasic's Random() function, then any .obj/.lib file you create will not carry to other development tools unless you also carry across PB's 'misc' user library because this is where the code for the Random() function sits. Now, PB's user-libraries are not standard COFF files and so you are stuck because it is not possible to extract the COFF file containg the Random() function.
If you avoid such dependencies then it is possible to carry across your CoffIT created object files to other development tools. I have done this with some simple ASM projects. Visual c++ is a different animal though!
If not, then it explains the pitfalls of attempting to use an MSCOFF object file created by Purebasic with another programming language.
Basically, if you wish to do this then you have to avoid using any Purebasic commands which reside in a PB external library. For example, if your code uses Purebasic's Random() function, then any .obj/.lib file you create will not carry to other development tools unless you also carry across PB's 'misc' user library because this is where the code for the Random() function sits. Now, PB's user-libraries are not standard COFF files and so you are stuck because it is not possible to extract the COFF file containg the Random() function.
If you avoid such dependencies then it is possible to carry across your CoffIT created object files to other development tools. I have done this with some simple ASM projects. Visual c++ is a different animal though!
I may look like a mule, but I'm not a complete ass.
Yes i read the manual
, i don't plan to use pb library commands.
I just tried the Incremental.pb example, copied the lib into my project and added it among with a header file containing the function declaration.
Then i set the MS Compiler to compile the lib in the lib properties,( i have no idea of what switchwes to use), then i build the project and said unresolved external symbol when compiling the lib.
I wonder if you or anyone has succeded doing this or i'm missing something.

I just tried the Incremental.pb example, copied the lib into my project and added it among with a header file containing the function declaration.
Then i set the MS Compiler to compile the lib in the lib properties,( i have no idea of what switchwes to use), then i build the project and said unresolved external symbol when compiling the lib.
I wonder if you or anyone has succeded doing this or i'm missing something.
I noticed in the PB 4.3 version of the coffIT help file, in the 'Exporting Functions' section, you use this example:
For PB 4.3, should that not be: ProcedureDLL.i instead of .l ?
(the .l is used in other examples also in the help)
Code: Select all
ProcedureDLL.l Rnd(value)
Protected a = Random(value) ;Here we use a command from PB's misc user library.
ProcedureReturn a
EndProcedure
(the .l is used in other examples also in the help)