让AngelScript运行起来

来源:互联网 发布:中兴笔试编程题 编辑:程序博客网 时间:2024/06/11 02:41

步骤:

1、  下载SDK包,地址:http://www.angelcode.com/angelscript/downloads.html

2、  将SDK压缩包解压

3、  在visual studio 2010 上新建一个 AngelScriptTest1 的工程

4、  将解压后的SDK下 \AngelScript\sdk\samples\tutorial\source中的main.cpp 拷贝到AngelScriptTest1 的源文件下

5、  将\AngelScript\sdk\angelscript\include下的头文件拷贝到AngelScriptTest1 的头文件目录下,编译后:

        fatal error C1083: 无法打开包括文件:“angelscript.h”: No such file or directory

       将该头文件拷贝到工程目录下:D:\My_VS2010\AngelScriptTest1

       并配置工程属性:参见

http://www.cnblogs.com/txg-blog/archive/2011/03/07/1974857.html


6、  将D:\My_VS2010\AngelScript\sdk\add_on\scriptstdstring目录下的文件:

scriptstdstring.h  和 scriptstdstring.cpp 拷贝到工程目录

D:\My_VS2010\AngelScriptTest1中,并分别添加到项目的头文件和源文件中。


7、  再次编译:

fatal errorLNK1104: 无法打开文件“angelscriptd.lib”

 

    点击项目属性à配置属性à链接器à输入à附加依赖项,输入

    "D:\My_VS2010\AngelScript\sdk\angelscript\lib\angelscriptd.lib",要有双引号。


8、  再编译:

   error LNK2019: 无法解析的外部符号 __imp__timeGetTime@0,该符号在函数 "int __cdeclRunApplication(void)" (?RunApplication@@YAHXZ) 中被引用

 

说明还有一个用到的库没有加载进来。在main.cpp文件中添加该库,如下:

#pragmacomment(lib,"winmm.lib")


9、  再次编译,成功。运行程序:


已经成功运行起来了,但代码中script.as 文件没有打开,应该是程序没有找到该文件,于是我们找到输出该语句的地方:

FILE *f =fopen("script.as", "rb");

       if( f == 0 )

       {

              cout << "Failed to openthe script file 'script.as'." << endl;

              return -1;

       }

它是在当前项目中打开文件,查看项目,没有该文件,于是我们从:

D:\My_VS2010\AngelScript\sdk\samples\tutorial\bin

拷贝一个script.as 文件到 我们创建的工程目录 D:\My_VS2010\AngelScriptTest1下

 

10、  再运行,成功输出:



额外说明:

这里配置项我们使用的是绝对路径,在这种情况下,移动文件夹,就有可能导致项目运行不起来,如果使用相对路径就可以避免这种情况:

 

如第5步:对头文件目录的配置

D:\My_VS2010\AngelScriptTest1

可以改为:

$(ProjectDir), 表示工程的根目录。

 

第7步对库的依赖配置

"D:\My_VS2010\AngelScript\sdk\angelscript\lib\angelscriptd.lib",

可以改为:

"$(ProjectDir)..\AngelScript\sdk\angelscript\lib\angelscriptd.lib"