【发布时间】:2011-09-30 04:20:49
【问题描述】:
我对 C++ 还很陌生。
我想为名为@987654321@ 的应用程序编写插件。
C4D 的制造商 Maxon 为此提供了一个 API。头文件位于一个特殊的文件夹中。
“cinema4dskd”是一个包含示例插件的 Visual Studio 项目。在这个项目中,还有另一个名为 _api 的子项目。
弹出窗口是“项目依赖”对话框。
_api 子项目似乎是我的 localdrive 上存在的文件的链接,但它不在 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 Demo 版本,其中cinema4dskd 项目包括在内。
如果您需要任何进一步的信息,请告诉我,我希望您知道可能缺少什么。为什么VC++可以正确编译插件,但我不能使用命令行或任何其他IDE?
非常感谢。
尼克拉斯
更新:
多字符常量错误示例:
C:\Users\niklas\Documents\CodeBlocks\Cinema4D\_api\src\gui.h|690|警告:多字符字符常量|
C:\Users\niklas\Documents\CodeBlocks\Cinema4D\_api\src\gui.h|693|警告:多字符字符常量|
690: BFM_SETVIEWPORTORIGIN = 'cORG',
691: BFM_SETVIEWPORTORIGIN_X=1,
692: BFM_SETVIEWPORTORIGIN_Y=2,
693: BFM_SETVIEWPORTSIZE = 'cSIZ',
【问题讨论】:
-
C4DGLuint 在哪里声明?你包括那个标题吗?至于警告,您可以粘贴确切的行吗?
-
啊,很好,我以为所有标题都包含在
c4d.h中,但c4d_gl.h没有。如果我将它添加到operatingssystem.h(发生错误的地方)它可以工作,但会出现另一个(另外,我认为我不应该修改这些文件,它们也可以在 VC++ 中工作)。C4DOS is not declared in this scope.。我看到了,C4DOS在operatingsystem.h中被externed:extern OperatingSystem C4DOS;,但是在发生错误的文件中,operatingsystem.h被包含了。 -
顺便说一句,我现在已将
_api复制到 Code::Blocks 并尝试构建它(但是,它在 VC++ 中设置为 .lib,但我看不到它的链接位置进入cinema4dskd?)所以当我可能需要修改文件时我可以测试它^^这很难解释,特别是因为我对编译的东西很陌生。 -
“至于警告”,我会做的,看更新。
-
对于上面,
OperatingSystem是上面声明的结构体,它有指向 C4D api 其他部分的指针。
标签: c++ visual-studio-2008 compilation