4

Metro Style App c#のgsdll32.dllを使用したい。私は次のようにdllをロードします:

[DllImport("gsdll32.dll", EntryPoint = "gsapi_delete_instance")]
private static extern void gsapi_delete_instance(IntPtr instance);

[DllImport("gsdll32.dll", EntryPoint = "gsapi_revision")]
private static extern int gsapi_revision(ref GS_Revision pGSRevisionInfo, int intLen);        

[DllImport("gsdll32.dll", EntryPoint = "gsapi_set_stdio")]
private static extern int gsapi_set_stdio(IntPtr lngGSInstance, StdioCallBack gsdll_stdin, StdioCallBack gsdll_stdout, StdioCallBack gsdll_stderr);

しかし、dllをロードしようとすると、見つからない例外が発生します。私はすでにそれをデバッグファイルに入れました。しかし、それは機能します。

このリンクから参照します。

4

2 に答える 2

2

可能ですが、次のようになります。

  • gsdll32.dllはWinRTSDKに対してコンパイルされましたか?
  • gsdll32.dllはアプリ認定に合格していますか?
  • パッケージにdllを含めましたか?

これらの質問のいずれかに対する答えが「いいえ」の場合、コードは機能しません。

于 2012-10-02T14:16:43.260 に答える
0

ソース(PCバージョン)
Microsoft EnvironmentforWinRTからGhostscriptをビルドする

Ghostscriptは、WindowsランタイムアプリケーションまたはWindowsランタイムコンポーネント内で使用するために、win32DLLの形式で構築できます。WinRT用にビルドするには、Microsoft VisualStudio2012を使用する必要があります。ディレクトリwinrtにVS2012にロードできるソリューションファイルがあります。

WinRTアプリケーションまたはコンポーネントには、gs / psiのiapi.hが含まれ、gs/debugbinまたはgs/releasebinのgsdll32metro.libとリンクする必要があります。また、直接またはコンポーネントを介してghostscriptを使用するアプリは、gsdll32metro.dllを「コンテンツ」として追加する必要があります。このdllを含めることは、アプリにパッケージ化されるために必要です。ghostscriptでデバッガーを実行できるようにしたい場合は、gsdll32metro.pdbもコンテンツとして追加する必要があります。

GhostScript9.21のドキュメントから

はい、私はこの質問が5年前のものであることを認識しています。

于 2017-07-12T17:16:17.373 に答える