Compile TCL8.4.13 using VS2005?

Compile TCL8.4.13 using VS2005?

Post by xman_1121 » Tue, 18 Jul 2006 05:57:21


Does anyone have any luck compiling TCL8.4.13 using VS2005?
When I tried to do that after automatically converting "tcl.dsw" to
VS05 solution... It give tons of error.

I'm able to compile it using VC++ 6.0.
 
 
 

Compile TCL8.4.13 using VS2005?

Post by David Grav » Tue, 18 Jul 2006 07:25:07

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1



What do you get when you compile from the command prompt?

C:\...\tcl\win> nmake -f makefile.vc

- --
David Gravereaux < XXXX@XXXXX.COM >
[species:human; planet:earth,milkyway(western spiral arm),alpha sector]

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (MingW32)

iD8DBQFEurzDlZadkQh/RmERAvZsAJoCqXspPjgOSMpz1RsePZK6WnIy3wCfaKOV
Bd4/PavvH4B4G2H9FNwV2TU=
=4+ZA
-----END PGP SIGNATURE-----

 
 
 

Compile TCL8.4.13 using VS2005?

Post by xman_1121 » Tue, 18 Jul 2006 23:31:34

ave,
Here is what I see from VS2005. I did use VS2003 & VC++6 before and
it compiled fine.
We just upgraded to use VS2005, then the compilation fails.

1>------ Rebuild All started: Project: tcl, Configuration: Debug Static
Win32 ------
1>Performing Makefile project actions
1>===============================================================================
1>cl : Command line warning D9002 : ignoring unknown option '-Op'
1>nul
1>*** Compiler has 'Optimizations'
1>cl : Command line warning D9002 : ignoring unknown option '-QI0f'
1>nul
1>*** Compiler has 'Pentium 0x0f fix'
1>LINK : warning LNK4001: no object files specified; libraries used
1>LINK : warning LNK4068: /MACHINE not specified; defaulting to X86
1>*** Linker has 'Win98 alignment problem'
1>LINK : fatal error LNK1561: entry point must be defined
1>*** Intermediate directory will be '.\Release\tcl_Dynamic'
1>*** Output directory will be '.\Release'
1>*** Suffix for binaries will be ''
1>*** Optional defines are ''
1>*** Dependency rules are not being used.
1> cl -nologo -c -W3 -YX -Fp.\Release\tcl_Dynamic\ -QI0f -O2 -Op -Gs
-MD -I"..\win" -I"..\generic" -D_CRT_SECURE_NO_DEPRECATE
-DTCL_PIPE_DLL=\"tclpip84.dll\"
-Fo.\Release\tcl_Dynamic\tclAppInit.obj ..\win\tclAppInit.c
1>cl : Command line warning D9002 : ignoring unknown option '-YX'
1>cl : Command line warning D9002 : ignoring unknown option '-QI0f'
1>cl : Command line warning D9002 : ignoring unknown option '-Op'
1>tclAppInit.c
1> rc -fo .\Release\tcl_Dynamic\tclsh.res -r -i "..\generic"
-D__WIN32__ ..\win\tclsh.rc
1> cl -O2 -Op -Gs -nologo -c -W3 -YX -Fp.\Release\tcl_Dynamic\ -QI0f
-Zl -DSTATIC_BUILD -I"..\win" -I"..\generic"
-Fo.\Release\tcl_Dynamic\tclStubLib.obj ..\generic\tclStubLib.c
1>cl : Command line warning D9002 : ignoring unknown option '-Op'
1>cl : Command line warning D9002 : ignoring unknown option '-YX'
1>cl : Command line warning D9002 : ignoring unknown option '-QI0f'
1>tclStubLib.c
1> rc -fo .\Release\tcl_Dynamic\tcl.res -r -i "..\generic" -D__WIN32__
..\win\tcl.rc
1> cl -nologo -c -W3 -YX -Fp.\Release\tcl_Dynamic\ -QI0f -O2 -Op -Gs
-MD -I"..\win" -I"..\generic" -D_CRT_SECURE_NO_DEPRECATE
-DTCL_PIPE_DLL=\"tclpip84.dll\" -DBUILD_tcl -Fo.\Release\tcl_Dynamic\
@C:\DOCUME~1\MING~1.CHA\LOCALS~1\Temp\nmC9.tmp
1>cl : Command line warning D9002 : ignoring unknown option '-YX'
1>cl : Command line warning D9002 : ignoring unknown option '-QI0f'
1>cl : Command line warning D9002 : ignoring unknown option '-Op'
1>regcomp.c
1>regerror.c
1>..\generic\regerror.c(53) : warning C4996: 'errcode' was declared
deprecated
1> C:\Program Files\Microsoft Visual Studio
8\VC\include\crtdefs.h(506) : see declaration of 'errcode'
1> Message: 'This name was supported during some Whidbey
pre-releases. Instead, use the standard name errno_t.'
1>..\generic\regerror.c(53) : error C2081: 'preg' : name in formal
parameter list illegal
1>..\generic\regerror.c(53) : error C2081: 'errbuf' : name in formal
parameter list illegal
1>..\generic\regerror.c(53) : error C2081: 'errbuf_size' : name in
formal parameter list illegal
1>..\generic\regerror.c(54) : warning C4028: formal parameter 2
different from declaration
1>..\generic\regerror.c(54) : warning C4028: formal parameter 3
different from declaration
1>..\generic\regerror.c(54)
 
 
 

Compile TCL8.4.13 using VS2005?

Post by Paul Oberm » Wed, 19 Jul 2006 06:13:53


XXXX@XXXXX.COM schrieb:
Lots of error messages skipped

The following hacks allowed me to compile Tcl/Tk 8.4.12 with
Visual Studio 2005.
Note, that only the static version works, the dynamic version
brings up the following runtime error:
R6034 An application has made an attempt to load the C runtime
library incorrectly.

generic/tcl.h (line 387):

Add line for definition of _stati64:
#include <sys/stat.h>


generic/regerror.c (line 53):

Change:
regerror(errcode, preg, errbuf, errbuf_size)
int errcode; /* error code, or REG_ATOI or REG_ITOA */
CONST regex_t *preg; /* associated regex_t (unused at present) */
char *errbuf; /* result buffer (unless errbuf_size==0) */
size_t errbuf_size; /* available space in errbuf, can be 0 */

to:
regerror(int errcode, CONST regex_t *preg, char *errbuf, size_t errbuf_size)

(Don't ask why)


generic/tclExecute.c (line 398):

Remove line in definition of BuiltinFunc tclBuiltinFuncTable[] = {

{"floor", 1, {TCL_DOUBLE}, ExprUnaryFunc, (ClientData) floor},

(Don't ask why)


I've compiled with the following batch scripts:

tcl84.bat:

cd tcl8.4.12\win
set INSTALLDIR=C:\Programme\Tcl
nmake -f makefile.vc clean OPTS=static
nmake -nologo -f makefile.vc release OPTS=static
nmake -f makefile.vc install OPTS=static
cd ..\..


tk84.bat:

cd tk8.4.12\win
set INSTALLDIR=C:\Programme\Tcl
set TCLDIR=..\..\tcl8.4.12
nmake -f makefile.vc clean OPTS=static
nmake -nologo -f makefile.vc release OPTS=static
nmake -f makefile.vc install OPTS=static
cd ..\..



Greetings,

Paul
 
 
 

Compile TCL8.4.13 using VS2005?

Post by Paul Oberm » Sat, 22 Jul 2006 06:03:06


XXXX@XXXXX.COM schrieb:

I just succeeded to compile Tcl and Tk with VS2005 and makefile.vc.

I have put my experiences onto http://www.yqcomputer.com/

This is more or less just a hack, and needs further work.
Feel free to improve.

Regards

Paul
 
 
 

Compile TCL8.4.13 using VS2005?

Post by Pat Thoyt » Sat, 22 Jul 2006 07:16:26

Paul Obermeier < XXXX@XXXXX.COM > writes:


Yo guys - the cvs head for both 8.5 and core-8-4-branch has been
patched for VS2005 support. 8.5 got this some time ago and 8.4 branch
only got this backported post 8.4.13 release.

--
Pat Thoyts http://www.yqcomputer.com/
To reply, rot13 the return address or read the X-Address header.
PGP fingerprint 2C 6E 98 07 2C 59 C8 97 10 CE 11 E6 04 E0 B9 DD