在vs.net 2003中编译ns2(3):编译otcl
来源:互联网 发布:人物设计软件 编辑:程序博客网 时间:2024/04/28 04:04
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
- 在vs.net 2003中编译ns2(3):编译otcl
- 在vs.net 2003中编译ns2(5):编译ns2
- 在vs.net 2003中编译ns2(1):编译tcl
- 在vs.net 2003中编译ns2(2):编译tk
- 在vs.net 2003中编译ns2(4):编译tclcl
- 在vs.net 2003中编译ns2(6):编译nam
- 在vs.net 2003中编译ns2(7):编译bluehoc
- 在vs2003中编译ns2:工程文件
- 在NS2中添加C++对象和Otcl对象方法
- NS2中,编译文件
- NS2中OTcl 和C++ 的连接 (一)
- 在VS.NET 2005中编译c程序
- vs.net 2003 中 编译运行directx sample项目
- 在VS中编译Opencascade6.6.0
- 在VS中让Shader自动编译
- 在VS中让Shader自动编译
- 在VS中配置Python编译环境
- vs.net c++ 2003编译错误求解
- Java 编程之实现文件或目录的压缩.
- 软件配置管理计划示例
- 设计无止境,还要多努力
- ramdisk 制作
- EXCEL的一些錯誤提示消息代碼(不完全歸納)
- 在vs.net 2003中编译ns2(3):编译otcl
- UML基础: 统一建模语言简介
- Java 编程之实现文件或目录的解压.
- 选择哪种虚拟软件
- 生活
- Linux Kernel学习
- Linux 下 C 编程从零开始
- 5.2 Linux发行版的通用命令
- 诺基亚S60各机型对应的系统版本清单