我需要建立一個C++項目,出口功能到c項目 這是我的C++類:問題混合C和C++
** ** MyCppClass.h
class MyCppClass
{
public:
static void MyCppMethod()
}
** MyCppClass。 cpp **
void MyCppClass::MyCppMethod(){}
*現在我需要爲Method MyCppMethod(static)創建一個接口。
我這樣做: ** ** MyExport.h
#define Export __declspec(dllexport)
extern "C" void Export MyCppMethodWrapper();
** ** MtExport.cpp
#include "MyCppClass.h"
#include "MyExport.h"
void MyCppMethodWrapper() { MyCppClass::MyCppMethod();}
完蛋了!
現在的C部分,(不同的項目) 我的鏈接項目與MyExport.lib
** ** program.c
#include "MyExport.h" ->does not compile because of the extern "C"
int main()
{
MyCppMethodWrapper();
}
如果我不添加一行:在program.c #include "MyExport.h"
該程序編譯和工作正常,但我需要爲導出提供一個頭(客戶端需要頭),我想使程序使用該頭。我該如何解決?
感謝您的回答
你的代碼格式很好,這不是你的第一個問題。請在編輯器正上方點擊格式化按鈕,瞭解它是如何完成的。 – 2010-02-15 09:51:05
什麼是編譯錯誤?我假設你正在使用windows – iain 2010-02-15 09:54:05
順便說一下,MyCppMethodWrapper應該也可以'try/catch(...)'。您不希望將一個異常轉化爲C代碼。 – 2010-02-15 11:42:37