> On Fri, Feb 17, 2012 at 02:01:05PM -0000, Graham Bloice wrote:
> > > > Most likely it has a problem with the / instead of \ in uil/util.obj.
> > > > Does someone have an idea how to resolve this?
> > >
> > > util.obj is being produced in the top level root directory, but the
> > > linker
> > is
> > > looking for it in ui\. I'm looking at the makefile now.
> > >
> >
> > Hmm. I think this would need an explicit build rule. As it stands,
> > the compiler is told to compile ui/util.c when in the top level
> > directory, so that's where the object file is placed. The linker is
> > told to look for ui/util.obj and complains.
>
> Thanks for looking into it. I will look at how to resolve this in the build
> structure. As this is is going to effect additional files as I move the files around
> we need a "proper" solution. Ideas are of course welcome ;-)
>
The current issue is that the same path is passed to both compile and linker and a default build rule invoked to compile which places the object files in the current directory, not where the linker expects them to be.
The compiler gets the path from WIRESHARK_COMMON_SRC, via Wireshark_SOURCES, the linker gets the path from the conversion rule that creates wireshark_OBJECTS.
Possibly a way forward is to break these files out into separate clumps from WIRESHARK_COMMON_SRC so that either the location of the object files can be moved, or the linker can be directed to the correct place.
I'm not able to do much more about it at the moment.
--
Graham Bloice