vcbuild and visual C++ compiler toolkit 2003

  • Thread starter Thread starter Jonathan Wilson
  • Start date Start date
J

Jonathan Wilson

Is it possible to use vcbuild with the free MS compiler toolkit, as in can
someone with just the MS toolkit and no access to a copy of Visual Studio
itself use vcbuild to compile a Visual Studio .NET 2003 project?

Assuming it is possible, I can then work on getting my specific project to
compile under vcbuild+platform SDK+Visual C++ compiler toolkit
 
Jonathan said:
Is it possible to use vcbuild with the free MS compiler toolkit, as
in can someone with just the MS toolkit and no access to a copy of
Visual Studio itself use vcbuild to compile a Visual Studio .NET 2003
project?

Assuming it is possible, I can then work on getting my specific
project to compile under vcbuild+platform SDK+Visual C++ compiler
toolkit

I would think so. Of course, without Visual Studio you don't really have a
tool for creating .vcproj files, but I assume you're looking for a zero-cost
way for someone else to build your code, while you create and maintain the
..vcproj file using Visual Studio.

Why don't you try it out and report back with what you find?

-cd
 
ok, after some experimentation, the short answer is that it is possible.
However, the following Visual C++ .NET 2003 files are needed to make it go:
the .vcstyle files under vc7\VCProjectDefaults
vcspawn.exe under common7\tools
vcprojectengine.dll under vc7\vcpackages
vcprojectui.dll under vc7\vcpackages\1033

I have managed to get my particular program (a windows DLL with no ATL or
MFC) building using just these files plus the VC Compiler Toolkit and
Platform SDK so it is possible as-is with a bit of hackery to put files
where vcbuild and friends expect to find them.
If you were to modify the relavent things to look for the files in the
right places (VC Compiler toolkit and Platform SDK folders) somehow, it
would probobly work even better...

Of course, this doesnt help most people since the only (legal) way to get
the Visual C++ .NET files you need is to buy Visual C++ .NET.

BTW, this test was on a Windows XP SP1 system with whatever version of the
..NET runtime is installed by Visual C++ .NET 2003.
 
I havent checked it on a blank (i.e. no Visual Studio stuff installed)
system but assuming you had vcspawn.exe, vcprojectengine.dll,
vcprojectui.dll and the contents of VCProjectDefaults, it appears to be
possible to compile stuff with just the Visual C++ Compiler Toolkit, the
Platform SDK and the .NET runtime installed.

Of course, in order to (legally) get vcspawn.exe, vcprojectengine.dll,
vcprojectui.dll and the contents of VCProjectDefaults, you need to own a
..NET 2003 licence (since the files in question dont appear to be listed in
the "files its ok to redistrubute list")

Perhaps someone at Microsoft can look at getting a "stand-alone" vcbuild
package (which includes the needed stuff) for those using the VC compiler
toolkit and platform SDK.

I can provide details of how I got it working using just those files (I
dont know if other files would be required in other circumstances though)
 
i took your advice and copied the requisite files into the right place
and installed the platform sdk.

things compiled okay but failed during the link because
msvcrt.lib/msvcrtd.lib couldn't be found - the only one on my machine
after all the installs in in the C:\Program Files\Microsoft
SDK\Lib\IA64 directory which won't work with my x86 stuff.

doesn't anyone know where this can be legally downloaded from ?
 
I think the .NET framework SDK may have a copy of msvcrt.lib in it.
It does come with msvcrt.lib and msvcrtd.lib but not msvcprt.lib or
msvcprtd.lib which means you cant use it for various C++ stuff.
However, "re-creating" msvcprt.lib might be possible since it appears to be
an import library for msvcprt.dll.
 
Jonathan Wilson said:
It does come with msvcrt.lib and msvcrtd.lib but not msvcprt.lib or
msvcprtd.lib which means you cant use it for various C++ stuff.
However, "re-creating" msvcprt.lib might be possible since it appears to be
an import library for msvcprt.dll.

yeah - that's what i discovered too - i've been asking a similar
question in a different thread - i'll post anything i find here too.
 
That is because you are trying to link with with the completely wrong set of
c and c++ runtime libraries. Use the libs installed in the /libs directory
of the Toolkit install. These are the appropriate versions.

Directory of C:\Program Files\Microsoft Visual C++ Toolkit 2003\lib

05/13/2004 12:48 PM <DIR> .
05/13/2004 12:48 PM <DIR> ..
08/10/2002 05:00 AM 191,866 kernel32.lib
02/21/2003 02:58 AM 2,707,332 libc.lib
03/18/2003 07:58 PM 3,023,122 libcd.lib
03/18/2003 07:58 PM 94,208 libcd.pdb
02/21/2003 03:01 AM 2,937,240 libcmt.lib
02/21/2003 02:58 AM 3,604,302 libcp.lib
03/18/2003 07:58 PM 4,433,724 libcpd.lib
03/18/2003 07:58 PM 225,280 libcpd.pdb
02/21/2003 03:02 AM 3,654,594 libcpmt.lib
02/20/2003 07:38 PM 18,618 mscoree.lib
02/21/2003 02:53 AM 69,512 oldnames.lib

Ronald Laeremans
Visual C++ team
 
the .lib files the application links with are (effectively) out of my
control since it's a 3rd party open source application that i'm trying
to compile using the toolkit.

if i change any of the configuration, then i'd end up with my own
local configuration which i want to avoid.
 
if my tip to compile with the .def file I linked to before doesnt work for
you, another option is to copy libcmt.lib to msvcrt.lib and libcpmt.lib to
msvcprt.lib.
That way, the make process finds what it is looking for...
 
Tham their setup won't really work with people using the full version of any
recent version of Visual C++ either. Can't you talk to the owners of the
project to make sure they get 7.1 based versions out? These will work
without any changes (in libraries) to the VC toolkit.

Ronald
 
Back
Top