2011-07-09 19 views
2

私はそれをMonoTouchアプリケーションにリンクし、MonoTouch経由で関数を呼び出すことができる単純な静的C++ライブラリを作成しようとしています。私はXcodeで静的ライブラリをコンパイルし、(ildjarn修正するので、編集)、これを持ってしようとしています:このクラスで何が問題になっていますか?

class MyClass 
{ 
public: 
    static int Get5() { return 5; } 
    static int Get10() { return 10; } 
}; 

私は最初の行に次のエラーを取得:期待

を「=」、 ' 、 ' ';'、 'ASM' または ' 属性 MyClassの '

"の前に' 任意のアイデアなぜですか?

Visual Studioで静的ライブラリをコンパイルしてMonoTouchアプリにリンクすることはできますか、それは不可能ですか?

答えて

2

メンバーのアクセシビリティデコレータは、C++でのコロンラベルのようにか例を切り替えている -

class MyClass 
{ 
public: 
    static int Get5() { return 5; } 
    static int Get10() { return 10; } 
}; 

また、アクセシビリティデコレータは、C++での名前空間スコープの種類に影響を与えないので、public class MyClassは無意味です。

+0

ありがとう、C++コードを書いてからしばらくしています。-_-残念ながら、あなたの修正が新しいエラーを作成しました。 'Unknown type' class '、あなたは' Class 'を意味しましたか? – tweetypi

+0

@meds:いいえ、このコードは完全にコンパイルされます:[demonstration](http://ideone.com/D23XL)。あなたが抱えている問題は、あなたが私たちに示していないコードに関連しています。 – ildjarn

2

JavaをC++と混合しています。クラスの前に「公共」をObmitと「公共:」に他の「公開」に変更します(あなたの元のコード付き)/CLRコンパイラフラグとそれをコンパイルする必要があり

2
class MyClass 
{  
    public: 
    int Get5()  
    {   
     return 5;  
    }  
    int Get10()  
    {   
     return 10;  
    } 
}; 

またはおそらくを。

+0

xcodeに/ clrコンパイラフラグを設定するにはどうすればよいですか? – tweetypi

+0

申し訳ありませんが、私は分かりません。 Managed C++コードをコンパイルできるかどうかは不明です。あなたは関数/クラスネイティブな方法をエクスポートする必要があります。 – Ajay

関連する問題