2011-09-29 77 views
1

我對C++來說相當陌生。
我想編寫一個名爲Cinema 4D的應用程序的插件。
C4D的製造商Maxon爲此提供了一個API。標題文件位於特殊文件夾中。VC++項目,想在另一個IDE內編譯,但缺少一些東西

「cinema4dskd」是一個包含示例插件的Visual Studio項目。在這個項目中還有另一個子項目_api

enter image description here

的popupwindow是 「項目依賴」 對話框。

_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公司擁有的有限公司,但如果你真的需要它,我求求你下載的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', 
+1

C4DGLuint在哪裏申報?你是否包含該標題?至於警告,你能粘貼確切的路線嗎? –

+0

好啊,我認爲所有的頭文件都包含在'c4d.h'中,但'c4d_gl.h'不是。如果我將它添加到'operatingssystem.h'(錯誤發生處),它會起作用,但另一個出現(另外,我不應該修改我認爲的這些文件,它們也可以在VC++中工作)。 'C4DOS沒有在這個範圍內聲明。「我看到,C4DOS在* operatingsystem.h *中出現:'extern OperatingSystem C4DOS;',但在發生錯誤的文件中包含* operatingsystem.h *。 –

+0

順便說一句,我已經複製'_api'到Code :: Blocks現在並嘗試構建它(但是,它在VC++中設置爲.lib,但是我看不到它在哪裏鏈接到cinema4dskd?),所以我當我可能需要修改文件時,可以對其進行測試^^很難解釋的人,特別是因爲我對編譯的東西很陌生。 –

回答

1
'cORG' 

是一個所謂的多字符文字。它的價值不適合一個char變量,您將需要一個「詮釋」拿着它,並根據這個帖子

C++ multicharacter literal

是編譯器特定的這個東西是怎麼解釋的。看起來你已經測試過的其他編譯器不支持這些類型的文字。

+0

在CodeBlocks中使用Msvc會給出相同的警告,但不會在Visual Studio中使用。但也許他們被壓制在那裏? –

相關問題