GCCコンパイラのCLIバックエンドを使用して、コンパイル済みLIB X264が1つありますか?

StackOverflow https://stackoverflow.com/questions/3233886

  •  14-09-2020
  •  | 
  •  

質問

GCC コンパイラのCLIバックエンドを使用して、1つのコンパイル済みlib x264を有する。(.NET DLLにコンパイル済みX264)

役に立ちましたか?

解決

C99機能を使用していますか?そうでなければ、/clr:pureオプションを持つVisual C ++はトリックを実行する必要があります。他の.NETプロジェクトが呼び出すことができるエントリポイントを定義するには、INを混合したのは少しのC ++ / CLIが必要ですが、それらは完全に別々のファイルに入ることができます(C-Projectsを使用してC専用のソースファイル全体を共有できます)。

編集:この作業をするための基本ガイド:

  • Visual Studioでは、C ++ / CLIクラスライブラリプロジェクト
  • を作成します。
  • Cソースファイルをすべてプロジェクトに追加
  • プロジェクト構成では、ヘッダーが見つかったようにインクルードパスを設定します。
  • プロジェクト構成では、/clr:pure
  • に「共通言語ランタイムの使用」を設定します。
  • 新しいプロジェクトウィザードによって作成された.cppファイルで、使用したい関数をプロトタイプするヘッダファイルに#includeディレクティブを追加します。
  • 新しいプロジェクトウィザード(前述の.cppファイルで)作成されたref classでは、Cライブラリ関数を呼び出す関数(静的関数)を追加します。
  • コンパイル、C#プロジェクトの参照としてこの.dllを追加し、
  • を楽しんでください。

ヒントとして、ライブラリ内のすべての関数についてref classに転送機能を作成する代わりに、(特定のプロジェクトに役立つ特定の定義のために)の束を呼び出すことで、(特定のプロジェクトに役立つ)機能を作ることができます。ライブラリ関数

.NET marshal_asをC文字列に変換するのに適したSystem::Stringテンプレートに快適に入りたいと思うでしょう。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top