3

それが可能であるという証拠を見つけることができません。40時間狂気に駆られた後、名前の悪いAllInOneプロジェクト(Xalan-C.lib、natchをビルドする)に必要なヘッダーファイルをビルドするローカリゼーションプロジェクトをビルドできない状況が残りました。

このライブラリはソフトウェアの不正行為であり、大規模です。別のライブラリに依存しているため、他に使用する方法がないため、答えを求めています。

4

2 に答える 2

7

Xerces-C の最新バージョン (v3.1.1) と互換性のある Xalan-C バージョン 1.11 を Visual Studio 2010 でビルドすることができました。バージョン 1.11 でビルドするには、次のようにします。

  • MsgCreator.exe が依存する xerces-c_3_1D.dll ファイルを取得するには、Xerces-C を動的ライブラリとしてビルドする必要があります。

  • Xalan-C バージョン 1.11 のソース コードを取得するには、 github リポジトリのクローンを作成します。

  • 環境変数XERCESCROOTXALANCROOTWindows で設定します (Visual Studio ではありません)。

     XERCESCROOT    The Xerces-C/C++ installation directory
     XALANCROOT     The Xalan-C/C++ source directory
    
  • VS2010 で Xalan-C ソリューションを開き、MsgCreatorプロジェクトをビルドします。

  • Xerces-C ビルドからファイルをコピーxerces-c_3_1D.dllし、Xalan-C ビルド フォルダー ( と同じフォルダーMsgCreator.exe) に配置します。

「AllInOne」プロジェクトのビルドに必要な「不足している」ヘッダー ファイル (LocalMsgIndex.hpp および LocalMsgData.hpp) を生成できるようになりました。

  • MsgCreator.exe を cmd で実行し、提供されたパスを指定しXalanMsg_en_US.xlfて、ロケール メッセージを作成するときに使用する方法を$(XALANCROOT)\src\xalanc\NLS\en_US指定します。

    MsgCreator.exe $(XALANCROOT)\src\xalanc\NLS\en_US\XalanMsg_en_US.xlf -TYPE=inmem
    

(私は を使用-TYPE=inmemしましたが、ソリューションに最適な方法を確認してください)

  • ヘッダー ファイルが生成され、ビルド ディレクトリ (MsgCreator.exe が存在する場所) に配置されます。それらをコピーまたは移動すると$(XALANCROOT)\src、それらを見つけることができるようになります。

  • プロジェクトをビルドしXalanMsgLibます。

  • そして、最終ビルドの前に行う最後の作業はafxres.hAllInOne.rcファイル ( にあります$(XALANCROOT)\Projects\Win32\Res\AllInOne) への のインクルードを処理することです。afxres.hVisual Studio Express エディションには、ヘッダーを含む MFC ライブラリは含まれていません。単に代わりに変更しまし#include "windows.h"た。

これで、「AllInOne」を正常に構築できるはずです。

于 2012-07-12T12:17:18.983 に答える