2012-05-20 104 views
2

我无法找到可能的证据。在经历了40个小时的疯狂之后,我剩下的情况是我无法构建本地化项目,该项目据称会建立一个名为AllInOne项目(构建Xalan-C.lib,natch)所需的头文件。如何用Visual Studio 2010创建Xalan-C?

这个库是软件弊端令人沮丧的,我渴望得到答案,因为它是另一个库中的依赖项,我没有其他选择使用。

回答

5

我已经在Visual Studio 2010中设法构建了Xalan-C 1.11版本,与最新版本的Xerces-C(v3.1.1)兼容。我不知道是否可以使用早期版本,但是这些是我遵循的顺序步骤来建立与1.11版本:

  • 的Xerces-C已建成一个动态库,获得了Xerces-c_3_1D.dll文件,该文件MsgCreator.exe依赖。

  • 克隆github repository获取Xalan-C版本1.11的源代码。

  • 在windows(不在Visual Studio中)中设置环境变量XERCESCROOTXALANCROOT

    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什么method建设现场消息时使用。

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

(我用-TYPE=inmem,但检查,看看有什么方法最适合您的解决方案)

  • 的头文件现在生成,位于build目录(其中MsgCreator .exe驻留)。复制或移动它们到$(XALANCROOT)\src,他们现在应该能够被定位。

  • 现在构建XalanMsgLib项目。

  • 而在最终构建之前要做的最后一件事是处理afxres.h包括AllInOne.rc文件(位于$(XALANCROOT)\Projects\Win32\Res\AllInOne)。 Visual Studio Express版本不包含包含afxres.h标头的MFC库。我只是将它改为#include "windows.h"

现在应该可以成功构建“AllInOne”。

相关问题