现在的位置: 首页 > 综合 > 正文

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

2013年09月03日 ⁄ 综合 ⁄ 共 1656字 ⁄ 字号 评论关闭
 

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

 

抱歉!评论已关闭.