1

1つのプロジェクトでいくつかの問題が発生しています。2つのライブラリを使用する必要がありますが、一方は/clrスイッチでコンパイルする必要があります。もう一方はこのスイッチではコンパイルできないためです。

1つのプロジェクトでこれら2つのライブラリを同時に使用する方法はありますか?現在、でコンパイルされて/clrおり、ライブラリとのリンクエラーが発生しましたnoclr

解決策がない場合でも、noclrライブラリをバッチモードで起動できますが、回避したいのですが...

私のプロジェクトはマネージC++であり、ライブラリtetgen(/ clrが必要)はネイティブC ++であり、このエラーが発生するため、/clrスイッチなしではコンパイルできません。

エラーC3381:'tetgenio':アセンブリアクセス指定子は、/clrオプションでコンパイルされたコードでのみ使用できます

もう1つのライブラリの三角形はCです。私はVisualStudio2008を使用しており、プロジェクトは32ビットでコンパイルされています。

4

2 に答える 2

2

より詳細な情報を使用することもできますが、マネージC ++を使用すると、マネージコードとアンマネージコードを組み合わせて使用​​できます。(MicrosoftはマネージC++コードをC++ / CLIと呼んでいます。)

編集:

わかりました、コンパイラエラーが役に立ちました。どうやらあなたはネイティブクラスを指定しましたが、ネイティブクラスの名前にpublicprivateまたは他のアクセス指定子を使用しています。MSDNドキュメントから:

次のサンプルはC3381を生成します。

// C3381.cpp
**public** class A {   // C3381. Remove public or make the class
managed. }; 
int main() { }

したがって、publicキーワードを削除してから、コンパイルを再試行してください。

于 2010-10-21T17:43:12.223 に答える
0

1つのソリューションに複数のプロジェクトを含めることができます。eolution Explorerでソリューションを右クリックし、->既存/新規プロジェクトを追加します。各ライブラリプロジェクトはそのように追加でき、独自のclr設定を持つことができます。

于 2010-10-21T17:44:13.597 に答える