您的位置:首页 > 其它

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

2007-04-07 17:12 405 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: