there were several problems with the makefile
line 123:
ops: src\binary.o , should be binary$(O)
this is fixed by particle.
line 126:
@cd $(OPSDIR) && $(OPSBUILD) linklibs tcl ..\binary$(O)
makes that the system will look for binary.obj_ops_switch.obj
changing it into ..\ops\tcl will fix that problem
Furthermore, the next problem is that the ops file won't link correctly
because binary.obj is not linked. To solve the problem, I added
binary.obj to the tools/build/dynoplibs.pl script, but of course that is
not a good solution. I haven't been able to solve it. Maybe it's an idea
to just put the source from binary.c into the ops file itself, if that's
possible.
If that's corrected, you'll find 1 more problem: if binary.obj is
linked, it can't resolve the symbol _PMCNULL. As a quick hack, I
#define'd PMCNULL as NULL. After these fixes, it worked.
Hope this helps you further.
regards,
klaas-jan
Ah, I see what happened here. I had to change things around in the first
place to be able to link in another object file with my dynamic opcodes. I
ended up changing dynoplibs.pl to link arguments differently if they were
object files. But my fix looked for .o files, so it didn't work on Win32. I
just committed a fix that should make it work.
If that's corrected, you'll find 1 more problem: if binary.obj is
> linked, it can't resolve the symbol _PMCNULL. As a quick hack, I
> #define'd PMCNULL as NULL. After these fixes, it worked.
Okay, I just changed the occurrences of PMCNULL to NULL. Things should work
now.
Hope this helps you further.
> regards,
> klaas-jan
>
It was very helpful, thanks!
--
Matt Diephouse
http://matt.diephouse.com