0

C#COMDLLへのC++ .NET COM DLLラッパーがあり、興味がありました。UNIXでMonoを使用してラッパーをビルドすることは可能ですか?試してみると、次のようなエラーがたくさん発生します。

$>/opt/mono/bin/mcs /target:library *.cpp -recurse:'*.cpp' -warn:0 -out:my.dll -r:System.Windows.Forms.dll -r:System.Data.dll -r:System.Xml.Linq.dll

/AssemblyInfo.cpp(2,18): error CS1024: Wrong preprocessor directive
/AssemblyInfo.cpp(4,6):  error CS1041: Identifier expected, `namespace' is a keyword
/AssemblyInfo.cpp(4,22): error CS1001: Unexpected symbol `;', expecting identifier
/AssemblyInfo.cpp(42,1): error CS8025: Parsing error

私はまだCOMとMonoに慣れていないので、このアイデアに根本的な欠陥がある場合はお詫び申し上げます。

PS。興味があれば実際のコードを含めることもできますが、一般的な仕組みについてはもっと興味があります。

4

1 に答える 1

2

COMコンポーネントはクロスプレート形式ではなく、Windows OSでのみ機能します。同等のクロスプレート形式の代替手段は、たとえばFirefoxで使用されるXPCOMです。

于 2012-10-01T20:45:43.510 に答える