首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用GNU C++为Maya编译时获取编译器错误

使用GNU C++为Maya编译时获取编译器错误
EN

Stack Overflow用户
提问于 2012-07-16 12:28:37
回答 3查看 899关注 0票数 1

我是C++编程的新手,也是使用C++编程的新手。我一直在尝试使用GNU编译器,因为我有64位版本的C++,但我只能免费使用32位版本的Visual C++。这些都是在64位Windows Vista中运行的。

问题是,当我尝试编译Maya附带的helloWorldCmd.cpp示例时,我得到错误消息,指出包含的MAYA头文件有问题。玛雅的编译器头文件是否真的有问题,或者仅仅是GNU C++不能用于为玛雅编译插件?我需要帮助,因为这个问题可能会阻止我继续学习如何为Maya编写插件。

下面是生成的编译器错误。如果有人能破解这个问题,我将不胜感激:

代码语言:javascript
运行
复制
C:\MyPrograms>c++ helloWorldCmd.cpp -o helloWorld.exe
In file included from c:\mingw\bin\../lib/gcc/mingw32/4.6.2/../../../../include/
maya/MString.h:47:0, from c:\mingw\bin\../lib/gcc/mingw32/4.6.2/../../../../include/
maya/MSimple.h:48, from helloWorldCmd.cpp:30:
c:\mingw\bin\../lib/gcc/mingw32/4.6.2/../../../../include/maya/MTypes.h:239:8: e
rror: expected identifier before 'false'
c:\mingw\bin\../lib/gcc/mingw32/4.6.2/../../../../include/maya/MTypes.h:239:8: e
rror: expected '}' before 'false'
c:\mingw\bin\../lib/gcc/mingw32/4.6.2/../../../../include/maya/MTypes.h:239:8: e
rror: expected unqualified-id before 'false'
c:\mingw\bin\../lib/gcc/mingw32/4.6.2/../../../../include/maya/MTypes.h:239:18:
error: expected declaration before '}' token
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-07-17 06:57:48

使用完整版Visual Studio的问题是,对于初学者来说,购买它的成本有点令人望而却步,并且Visual C++ Express的本机安装只能编译为32位目标。然而,我偶然看到了这篇博客文章,它解释了如何将软件开发工具包与Visual C++ Express一起使用,它确实可以编译为64位。它还解释了如何执行所有准备好构建Maya插件的进一步设置:

http://prilisa.com/2012/01/my-first-maya-2011-c-plug-in.html

票数 0
EN

Stack Overflow用户

发布于 2012-07-17 02:16:01

在windows中,你应该考虑使用visual studio来编译maya插件,在linux g++中,正常的过程是这样的,我不确定它在windows中是如何运行的。

gcc -f消息长度=0 -Os -pthread -Wno-弃用-fno-gnu-关键字--fast-math -fPIC -DLINUX -D_USER_=USER -D_HOST_=HOST -D_PROJECTNAME_=PROJECT -D_BUILDVERSION_=VERSION -DNDEBUG -DREQUIRE_IOSTREAM -D_BOOL -I$MAYA_LOCATION/include -I/home/user/customIncludes -O3 -shared -o /tm/helloWorldCmd.so helloWorldCmd.cpp

请注意D_BOOL。

此外,请不要使用maya不查找exe,maya在windows中查找mll,等等。因此,如果你是maya api的新手,你应该尝试使用visual studio,maya devkit有一个visual studio插件向导,它将帮助你配置你的插件及其依赖项。

票数 2
EN

Stack Overflow用户

发布于 2012-07-16 13:26:15

问题似乎是Maya没有正确检查C++关键字truefalsebool类型。

在谷歌上搜索后,我找到了一个头文件的副本,如果你自己查看这个文件,你会看到它检查宏_BOOL,以了解它是否应该设置自己的bool类型。

解决方案可能简单到只需添加

代码语言:javascript
运行
复制
#define _BOOL

在包含头文件之前。

请注意,如果头文件错误地检查其他内容,您可能会得到其他错误。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11498090

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档