我是 C++ 的新手。
我想为名为 Cinema 4D 的应用程序编写插件.
C4D 的制造商 Maxon 提供了执行此操作的 API。头文件位于一个特殊的文件夹中。
“cinema4dskd”是一个包含示例插件的 Visual Studio 项目。在这个项目中还有另一个名为 _api 的子项目。
弹出窗口是“项目依赖项”对话框。
_api 子项目似乎是一个文件的链接,该文件存在于我的本地驱动器上,但它不在 cinema4dsdk.vcproj 中。
_api 项目中的所有文件都位于 Cinema 4D 安装路径中的一个文件夹中,该文件夹也称为 _api。
它充满了头文件和 .cpp 文件。
这基本上是我为 Cinema 4D 编译插件所需的,包括我的源代码中的“c4d.h”。
但这就是问题的开始。
我正在尝试在 Code::Blocks 中编译一个插件,我已经将所有路径添加到“c4d.h”等。但是每个编译器(gcc,甚至 msvc!)都会告诉我关于以下内容的数千条警告:
C:\Programs\MAXON\Cinema 4D R12\resource\_api\ge_prepass.h |2668|警告:多字符字符常量|
最后是 C4DGLuint
未声明的错误。为什么它可以在 VC++ 中工作,但不能与任何其他编译器一起工作?我一定错过了什么,但我真的不知道是什么。
我不认为我被允许分享这个项目,因为 _api 归 Maxon GmbH 所有,但如果你真的需要它,我请求你下载 Cinema 4D 演示版本,其中cinema4dskd 项目包含在内。
如果您需要任何进一步的信息,请告诉我,我希望您知道可能缺少什么。为什么 VC++ 可以正确编译插件,但我不能使用命令行或任何其他 IDE?
非常感谢。
尼克拉斯
更新:
多字符常量错误示例:
C:\Users\niklas\Documents\CodeBlocks\Cinema4D\_api\src\gui.h|690|warning: multi-character character constant|
C:\Users\niklas\Documents\CodeBlocks\Cinema4D\_api\src\gui.h|693|warning: multi-character character constant|
690: BFM_SETVIEWPORTORIGIN = 'cORG',
691: BFM_SETVIEWPORTORIGIN_X=1,
692: BFM_SETVIEWPORTORIGIN_Y=2,
693: BFM_SETVIEWPORTSIZE = 'cSIZ',
最佳答案
'cORG'
是所谓的多字 rune 字。它的值不适合 char
变量,您需要一个“int”来保存它,并且根据这篇文章
如何解释这个东西是特定于编译器的。似乎您测试过的其他编译器不支持这些类型的文字。
关于c++ - VC++ 项目,想在另一个 IDE 中编译但缺少某些东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7602341/