我要发帖 回复

中级会员

11

主题

122

积分

0

专家分

:

私信
发表时间 : 2009-4-10 14:13:30 | 浏览 : 2600    评论 : 6
我装了OpenFlightApi  但是使用的时候虽然加载了头文件mgapiall.h,还是会有下面的错误:
--------------------Configuration: FLTOP - Win32 Debug--------------------
Compiling...
Main.cpp
d:\program files\multigen-paradigm\include\openflightapi\mgapitrackplane.h(93) : error C2061: syntax error : identifier 'mgmatrix'
e:\project\vc6.0\vega\jzhang\fltop\main.cpp(20) : error C2065: 'mgInit' : undeclared identifier
e:\project\vc6.0\vega\jzhang\fltop\main.cpp(23) : error C2065: 'mgSetNewOverwriteFlag' : undeclared identifier
e:\project\vc6.0\vega\jzhang\fltop\main.cpp(26) : error C2065: 'mgNewDb' : undeclared identifier
e:\project\vc6.0\vega\jzhang\fltop\main.cpp(26) : error C2440: '=' : cannot convert from 'int' to 'struct mgrec *'
        Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
e:\project\vc6.0\vega\jzhang\fltop\main.cpp(29) : error C2065: 'mgGetLastError' : undeclared identifier
e:\project\vc6.0\vega\jzhang\fltop\main.cpp(35) : error C2065: 'mgNewRec' : undeclared identifier
e:\project\vc6.0\vega\jzhang\fltop\main.cpp(35) : error C2440: '=' : cannot convert from 'int' to 'struct mgrec *'
        Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
e:\project\vc6.0\vega\jzhang\fltop\main.cpp(36) : error C2065: 'mgAttach' : undeclared identifier
e:\project\vc6.0\vega\jzhang\fltop\main.cpp(39) : error C2440: '=' : cannot convert from 'int' to 'struct mgrec *'
        Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
e:\project\vc6.0\vega\jzhang\fltop\main.cpp(43) : error C2065: 'mgRGB2Index' : undeclared identifier
e:\project\vc6.0\vega\jzhang\fltop\main.cpp(51) : error C2440: '=' : cannot convert from 'int' to 'struct mgrec *'
        Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
e:\project\vc6.0\vega\jzhang\fltop\main.cpp(55) : error C2440: 'initializing' : cannot convert from 'int' to 'struct mgrec *'
        Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
e:\project\vc6.0\vega\jzhang\fltop\main.cpp(56) : error C2065: 'mgAppend' : undeclared identifier
e:\project\vc6.0\vega\jzhang\fltop\main.cpp(57) : error C2065: 'mgSetVtxCoord' : undeclared identifier
e:\project\vc6.0\vega\jzhang\fltop\main.cpp(59) : error C2440: 'initializing' : cannot convert from 'int' to 'struct mgrec *'
        Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
e:\project\vc6.0\vega\jzhang\fltop\main.cpp(63) : error C2440: 'initializing' : cannot convert from 'int' to 'struct mgrec *'
        Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
e:\project\vc6.0\vega\jzhang\fltop\main.cpp(67) : error C2440: 'initializing' : cannot convert from 'int' to 'struct mgrec *'
        Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
e:\project\vc6.0\vega\jzhang\fltop\main.cpp(72) : error C2065: 'mgSetAttList' : undeclared identifier
e:\project\vc6.0\vega\jzhang\fltop\main.cpp(75) : error C2065: 'mgWriteDb' : undeclared identifier
e:\project\vc6.0\vega\jzhang\fltop\main.cpp(78) : error C2065: 'mgCloseDb' : undeclared identifier
e:\project\vc6.0\vega\jzhang\fltop\main.cpp(81) : error C2065: 'mgExit' : undeclared identifier
Error executing cl.exe.

FLTOP.exe - 22 error(s), 0 warning(s)

请问是什么原因。

下面是代码:
[cpp]// simple.cpp : 定义控制台应用程序的入口点。
//
#include <stdio.h>
#include <stdlib.h>

/* include all API headers */
#include "mgapiall.h"

void main(int argc, char* argv[])
{
        mgrec *db;              /* 根节点 */
        mgrec *GroupNode;                /* 组节点 */
        mgrec *ObjectNode;                /* 体节点 */
        mgrec *PolygonNode;                /* 面节点 */

        unsigned int blue;                /* color indices */
        float inten;                /* color intensity */

        /* 初始化 */
        mgInit (&argc, argv);
        
        /*覆盖已存在的文件 */
        mgSetNewOverwriteFlag (MG_TRUE);

        /*新建文件 */
        if (!(db = mgNewDb ("test.flt")))
        {
                char msgbuf [1024];
                mgGetLastError (msgbuf, 1024);
                printf ("%s\n", msgbuf);
                exit (EXIT_FAILURE);
        }

        /* 新建组节点,父节点为根节点db */
        GroupNode = mgNewRec (fltGroup);
        mgAttach (db, GroupNode);

        /* 新建体节点,父节点为组节点GroupNode */
        ObjectNode = mgNewRec (fltObject);
        mgAttach (GroupNode, ObjectNode);

        /* 得到颜色索引 */
        mgRGB2Index (db, 0, 0, 255, &blue, &inten);

        double ic0[3] = {0., 0., 0.};
        double ic1[3] = {100., 0., 0.};
        double ic2[3] = {100., 100., 0.};
        double ic3[3] = {0., 100., 0.};

        /* 新建面节点,父节点为体节点ObjectNode */
        PolygonNode = mgNewRec (fltPolygon);
        mgAttach (ObjectNode,PolygonNode);

        /* 定义面PolygonNode的四个顶点 */
        mgrec *VrecNode0 = mgNewRec (fltVertex);
        mgAppend (PolygonNode, VrecNode0);
        mgSetVtxCoord (VrecNode0, ic0[0], ic0[1], ic0[2]);

        mgrec *VrecNode1 = mgNewRec (fltVertex);
        mgAppend (PolygonNode, VrecNode1);
        mgSetVtxCoord (VrecNode1, ic1[0], ic1[1], ic1[2]);

        mgrec *VrecNode2 = mgNewRec (fltVertex);
        mgAppend (PolygonNode, VrecNode2);
        mgSetVtxCoord (VrecNode2, ic2[0], ic2[1], ic2[2]);

        mgrec *VrecNode3 = mgNewRec (fltVertex);
        mgAppend (PolygonNode, VrecNode3);
        mgSetVtxCoord (VrecNode3, ic3[0], ic3[1], ic3[2]);

        /* 定义面PolygonNode的颜色 */
        mgSetAttList (PolygonNode, fltPolyPrimeColor, blue, MG_NULL);

        /* 写入文件 */
        mgWriteDb (db);

        /* 关闭文件 */
        mgCloseDb (db);

        /* 程序退出 */
        mgExit ();

}[/cpp]

最近VR访客

淡泊以明志 宁静而致远
yihan007 评论于2009-4-11 08:17:15
代码没问题,在VC中把预处理器定义设置为WIN32; API_LEV2就好了
TY
mqiezi 评论于2009-4-11 09:21:07
  我昨天把openflightApi  提供的例子的setting和我自己的setting比较了 然后改了,解决了。不过还是谢谢楼上的。
淡泊以明志 宁静而致远
shwbuaa 评论于2009-9-21 15:35:26
请问具体如何在VC中把预处理器定义设置为WIN32; API_LEV2?
only198 评论于2009-9-21 16:33:43
3# mqiezi
only198 评论于2009-9-21 16:35:58
你的代码可以运行出来了吗?怎么改的啊?我的为什么总是这人界面啊?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?加入52VR

x
ggw0122 评论于2011-4-8 22:45:36
学习了,谢谢

手机版|VR开发网 统计 津ICP备18009691号
网安备12019202000257

GMT+8, 2022-1-27 10:13 PM

返回顶部