您的位置:首页 > 运维架构

OpenFlight API调用之一--编译自己的程序

2012-10-22 21:49 295 查看
前一篇文章说我要开发自己的类似ObjectPropertyEditor的工具,这两天就开始着手做这件事情了。

前文说到,要做这样一个工具,需要使用OpenFlight API,也就是MultiGen Creator提供的一套函数接口。所以我做的第一件事情就是开始读OpenFlight API的说明文档,全英文的,不是太容易看懂,看了两页我已经坚持不下去了,希望有大神能把这些东西翻译出来!

还好有Sample,编译了两个运行了一下,发现没有提供可视化的界面,不过我最需要的遍历模型节点的功能已经实现了,很好!然后就自己动手写了一个小程序,竟然编译不通过!仔细查看代码,发现并没有什么问题。也许是有什么错误隐藏着,自己不能发现吧。于是直接将Sample中的代码Copy出来,再编译,还是出错!百思不得其解!

折腾了一整晚上,连睡觉也在想这件事情,总算没白想,让我发现了其中的奥秘了:代码都一样的,Sample能编译通过并且正常运行,自己的程序确编译不过?问题在哪里?代码是一样的,哪里不一样?答对了,就是工作空间的设置不一样!

于是凌晨两点半起来打开电脑,打开Sample工程和自己创建的工程,分别打开Project->Settings,里面General、Debug、C/C++、Link等一项一项的对比,终于找到问题了。在Sample工程中,Project->Settings->C/C++->Precompile Definition中设置为_DEBUG,WIN32,_CONSILE,API_LEVEL2,而我自己的工程中这一项设置为WIN32,_DEBUG,_CONSOLE,_MBCS。剩下的事情就简单了,依葫芦画瓢,将设置改过来就可以了。

最后,还需要在Project->Settings->Link下面的Object/Libs中添加所需要的OpenFlight Lib文件,这是为了保证程序能够正确加载所需要的动态库完成API指定的功能,否则会出现unresolved external symbol错误。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐