Chinaunix首页 | 论坛 | 博客
  • 博客访问: 302210
  • 博文数量: 47
  • 博客积分: 2455
  • 博客等级: 大尉
  • 技术积分: 558
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-25 15:43
文章分类

全部博文(47)

文章存档

2016年(2)

2012年(10)

2011年(13)

2010年(1)

2009年(19)

2008年(2)

分类: WINDOWS

2009-04-22 10:25:23

由于测试基本都是Tcl写成的, 所以工作中不可避免的需要Tcl, 不可避免的经常需要编译Tcl.

对于Win32而言, 可以从直接下载Win32的msi文件, 进行安装.

当然也可以从下载源代码进行编译, tcl.tk的源代码中提供了Win32的编译配置, 但是没有包含x64的编译配置, 所以在win64上, 编译Tcl就有点小小的困难.

本文以Win64上编译Tcl8.4.17为例.

下载和解压的具体过程不必说了, 直接说说编译.
切换到windows的编译目录, win下
cd win
而后, 查看makefile.vc,这个是windows下的makefile,用nmake来运行.
比如我的是amd64为的机器, 我要编译出包含符号表的多线程版本,命令就是:
nmake -f makefile.vc MACHINE=AMD64 OPTS=threads,symbos
要安装就是:
nmake -f makefile.vc install MACHINE=AMD64 INSTALLDIR=C:\Tcl_64

如果是IA64,则将AMD64改为IA64即可.

由于一般使用的是x86的visual studio,所以可能会有一些错误:
1 编译过程中有时提示nmake/cl之类的不相容的问题, 这应该是版本问题, 编译时应该使用这些工具的64位版本, 而不是32位版本:
具体来说,运行命令行前, 应当先设置好:
call "C:\Program Files(x86)\Microsoft Visual Studio 8\VC\vcvarsall.bat" amd64

2 bufferoverflowU.lib not found
许多机器上,这个是存在的,有些则不存在, 所以要自己根据需要来修改nmakehlp.c和Makefile.vc. 一般去掉比较好. 如果不去掉, 自己在编译的路径上, 把该库文件位置加入到编译的库路径中, 主要是对环境变量LIBPATH的修改

3 还有一些是stati64 not found的问题,
这类问题可能需要修改generic/tclh.

以上,只是我碰到的问题. 当然,有可能也没有任何问题,因为机器环境,编译器版本等等不同.

具体碰到的问题, 欢迎交流.
阅读(6629) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2009-04-22 10:31:06

Niubility!不顶不行。