在vs.net 2003中编译ns2(3):编译otcl

 
1              编译winotcl.dll
1)        创建winotcl.dll工程,记住选上“导出符号”。
2)        将工程的输出路径改为:$(SolutionDir)/Debug。原因:将所有生成的dll和exe放在同一目录下,避免产生找不到文件的情况。
3)        将中间目录改为:$(SolutionDir)/Debug/wintcl。原因:个人喜爱。
4)        在“C/C++ -> 附加包含目录”中添加:
"D:/ns-allinone-2.31/tcl8.4.14/generic";
"D:/ns-allinone-2.31/tcl8.4.14/win";
"D:/ns-allinone-2.31/tk8.4.14/generic";
"D:/ns-allinone-2.31/tk8.4.14/win";
"D:/ns-allinone-2.31/tk8.4.14/xlib";
"D:/ns-allinone-2.31/otcl-1.13";
“.”;
5)        将“C/C++ -> 代码生成 -> 运行时库”改为“多线程调试DLL”。原因:避免C运行时库链接错误。
6)        在“C/C++ ->预编译头”中改为“自动生成”。原因:避免#include “stdafx.h”。
7)        将otcl-1.13/otcl.c; otcl-1.13/otcl.h两个文件添加到工程中。
8)        打开otcl.h,添加
#include "winotcl.h"
将extern全部替换为WINOTCL_API,用以导出函数。记住务必使用大小写匹配和全字匹配。
9)        打开otcl.c,找到第1363行(OtclOProcMethod函数里面
 Tcl_CmdInfo proc;
 int op;
在这行的下面添加一个新行:
 memset(&proc, 0, sizeof(Tcl_CmdInfo));
否则在最后释放内存的时候将出错。
10)     将wintcl.dll、wintk设置为此项目的依赖项目。
11)     编译工程,生成winotcl.dll
2              编译otclsh.exe
1)        创建otclsh.exe工程,类型为命令行程序,选择空项目选项。
2)        在工程中添加以下文件:
D:/ns-allinone-2.31/otcl-1.13/otclAppInit.c
3)        将工程的输出路径改为:$(SolutionDir)/Debug。原因:将所有生成的dll和exe放在同一目录下,避免产生找不到文件的情况。
4)        将中间目录改为:$(SolutionDir)/Debug/otclsh。原因:个人喜爱。
5)        在“C/C++ -> 附加包含目录”中添加:
"D:/ns-allinone-2.31/tcl8.4.14/generic";
"D:/ns-allinone-2.31/tcl8.4.14/win";
"D:/ns-allinone-2.31/tk8.4.14/generic";
"D:/ns-allinone-2.31/tk8.4.14/win";
"D:/ns-allinone-2.31/tk8.4.14/xlib";
"D:/ns-allinone-2.31/otcl-1.13";
“../winotcl”;
6)        将“C/C++ -> 代码生成 -> 运行时库”改为“多线程调试DLL”。原因:避免C运行时库链接错误。
7)        在“C/C++ ->预编译头”中改为“自动生成”。原因:避免#include “stdafx.h”。
8)        将wintcl.dll、wintk.dll、winotcl.dll设置为此项目的依赖项目。
9)        编译运行
10)     在otcl命令行下运行测试tcl:
cd otcl-1.13
cd lib
source test.tcl
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嵌云阁主

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值