On Thu, Jul 25, 2002 at 05:40:19PM -0400, Gautham Thavva wrote:
> nmake -f config.nmake doesn't show any result.
It's not supposed to. "config.nmake" is *NOT* the top-level nmake
Makefile for Ethereal; it's a file *included* by that Makefile, so that,
to configure the build for your local environment, you don't have to
change the top-level Makefile, you just change the "config.nmake" file.
> So I copied makefile.nmake to makefile and just ran nmake.
I usually do "nmake -f makefile.nmake", without copying "Makefile.nmake"
to anything else.
> A huge number of errors came up. All were syntax errors (like missing
> ')' before '*', some uses undefined struct etc)
>
> I have been able to build from source for Linux. That was not at all a
> problem. Please can somebody help me in resolving this issue so that I
> can build from the source for Windows.
Well, the first thing I'd suggest would be to make sure your
command-line environment is set up to compile and link with MSVC; as the
"README.win32" file in the top-level source directory says:
Be sure that your command-line environment is set up to compile
and link with MSVC. When installing MSVC, you can have your
system's environment set up to always allow compiling from the
command line, or you can invoke the vcvars32.bat script, which
can usually be found in the "VC98\Bin" subdirectory of the
directory in which Visual Studio was installed.
If "nmake -f makefile.nmake" still doesn't work after you've made sure
the command-line environment is set up correctly, the next thing I'd
suggest you do is run the script "cleanbld.bat" in the top-level
Ethereal directory, in case, for example, you did your Linux build in
the same directory; if you've done an Ethereal build for one platform,
and try to do a build for another platform in the same directory, you
have to clean up the configuration information for the first platform
before building for the second platform. On UNIX, you'd do "make
distclean" and then re-run the configure script on the new platform; on
Windows, when compiling with MSVC++, you'd run "cleanbld.bat". (That's
also mentioned in the "README.win32" file:
The first time you build Ethereal, run the script "cleanbld.bat"
in the top-level Ethereal source directory to make sure that the
"config.h" files will be reconstructed from the "config.h.win32"
files. (If, for example, you have "config.h" files left over
from a Unix build, a Windows build will fail.)