それが可能であるという証拠を見つけることができません。40時間狂気に駆られた後、名前の悪いAllInOneプロジェクト(Xalan-C.lib、natchをビルドする)に必要なヘッダーファイルをビルドするローカリゼーションプロジェクトをビルドできない状況が残りました。
このライブラリはソフトウェアの不正行為であり、大規模です。別のライブラリに依存しているため、他に使用する方法がないため、答えを求めています。
それが可能であるという証拠を見つけることができません。40時間狂気に駆られた後、名前の悪いAllInOneプロジェクト(Xalan-C.lib、natchをビルドする)に必要なヘッダーファイルをビルドするローカリゼーションプロジェクトをビルドできない状況が残りました。
このライブラリはソフトウェアの不正行為であり、大規模です。別のライブラリに依存しているため、他に使用する方法がないため、答えを求めています。
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 リポジトリのクローンを作成します。
環境変数XERCESCROOT
をXALANCROOT
Windows で設定します (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.h
、AllInOne.rc
ファイル ( にあります$(XALANCROOT)\Projects\Win32\Res\AllInOne
) への のインクルードを処理することです。afxres.h
Visual Studio Express エディションには、ヘッダーを含む MFC ライブラリは含まれていません。単に代わりに変更しまし#include "windows.h"
た。
これで、「AllInOne」を正常に構築できるはずです。