compile gettext with vs

Native binaries, built using the MS Visual C/C++ tool chain.

   Note that binaries created with MSVC have a distribution constraint: They
   depend on a closed-source library ('msvcr90.dll' for MSVC 9.0,
   'vcruntime140.dll' for MSVC 14.0, and so on) which is not normally part of
   a Windows installation.
   You cannot distribute 'vcruntime*.dll' with the binaries - this would be a
   violation of the GPL and of the Microsoft EULA.
   You can distribute the binaries without including 'vcruntime*.dll'. Users
   who don't have this library on their system will require to pull some files
   (api-ms-win*.dll) through the Windows Update mechanism, see
   https://support.microsoft.com/en-us/kb/2999226 .

   This recipe requires MS Visual C/C++ 9.0 or newer.
   You don't need the Visual Studio IDE, just the C/C++ tool chain.
   As of 2016, you can install the MS Visual C/C++ 14.0 tool chain from
   https://landinghub.visualstudio.com/visual-cpp-build-tools (it's the file
   visualcppbuildtools_full.exe).

   This recipe requires also a Cygwin environment (with 'bash', the common POSIX
   commands, and 'make') as a build environment. Building with 'nmake' is not
   supported.
   For this, you need to install
     * Cygwin (from https://cygwin.com/),
     * some packages available from the Cygwin package installer:
         make

   You also need the scripts 'ar-lib' and 'compile' from
     https://git.savannah.gnu.org/gitweb/?p=automake.git;a=blob_plain;f=lib/ar-lib;hb=HEAD
     https://git.savannah.gnu.org/gitweb/?p=automake.git;a=blob_plain;f=lib/compile;hb=HEAD
   respectively.
   They may also be included in this package, in directory 'build-aux/'.
   Save them; the instructions below assume that you stored them in $HOME/msvc/.
   Make them executable:
      chmod a+x ar-lib compile

   Start a bash (from Cygwin).

   Make sure that the MSVC tools ("cl" etc.) are found in PATH and the
   environment variables INCLUDE and LIB are set appropriately.
   In a typical MSVC 9.0 installation, it can be achieved by running
     C:\Program Files\Microsoft Visual Studio 9.0\Common7\Tools\vsvars32.bat
   In a typical MSVC 14.0 installation on Windows 10, it can be achieved
   - for creating 32-bit binaries: through the following bash commands:

      # Set environment variables for using MSVC 14,
      # for creating native 32-bit Windows executables.

      # Windows C library headers and libraries.
      WindowsCrtIncludeDir='C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt'
      WindowsCrtLibDir='C:\Program Files (x86)\Windows Kits\10\Lib\10.0.10240.0\ucrt\'
      INCLUDE="${WindowsCrtIncludeDir};$INCLUDE"
      LIB="${WindowsCrtLibDir}x86;$LIB"

      # Windows API headers and libraries.
      WindowsSdkIncludeDir='C:\Program Files (x86)\Windows Kits\8.1\Include\'
      WindowsSdkLibDir='C:\Program Files (x86)\Windows Kits\8.1\Lib\winv6.3\um\'
      INCLUDE="${WindowsSdkIncludeDir}um;${WindowsSdkIncludeDir}shared;$INCLUDE"
      LIB="${WindowsSdkLibDir}x86;$LIB"

      # Visual C++ tools, headers and libraries.
      VSINSTALLDIR='C:\Program Files (x86)\Microsoft Visual Studio 14.0'
      VCINSTALLDIR="${VSINSTALLDIR}"'\VC'
      PATH=`cygpath -u "${VCINSTALLDIR}"`/bin:"$PATH"
      INCLUDE="${VCINSTALLDIR}"'\include;'"${INCLUDE}"
      LIB="${VCINSTALLDIR}"'\lib;'"${LIB}"

      export INCLUDE LIB

   - for creating 64-bit binaries: through the following bash commands:

     # Set environment variables for using MSVC 14,
     # for creating native 64-bit Windows executables.

     # Windows C library headers and libraries.
     WindowsCrtIncludeDir='C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt'
     WindowsCrtLibDir='C:\Program Files (x86)\Windows Kits\10\Lib\10.0.10240.0\ucrt\'
     INCLUDE="${WindowsCrtIncludeDir};$INCLUDE"
     LIB="${WindowsCrtLibDir}x64;$LIB"

     # Windows API headers and libraries.
     WindowsSdkIncludeDir='C:\Program Files (x86)\Windows Kits\8.1\Include\'
     WindowsSdkLibDir='C:\Program Files (x86)\Windows Kits\8.1\Lib\winv6.3\um\'
     INCLUDE="${WindowsSdkIncludeDir}um;${WindowsSdkIncludeDir}shared;$INCLUDE"
     LIB="${WindowsSdkLibDir}x64;$LIB"

     # Visual C++ tools, headers and libraries.
     VSINSTALLDIR='C:\Program Files (x86)\Microsoft Visual Studio 14.0'
     VCINSTALLDIR="${VSINSTALLDIR}"'\VC'
     PATH=`cygpath -u "${VCINSTALLDIR}"`/bin/amd64:"$PATH"
     INCLUDE="${VCINSTALLDIR}"'\include;'"${INCLUDE}"
     LIB="${VCINSTALLDIR}"'\lib\amd64;'"${LIB}"

     export INCLUDE LIB

   Building 32-bit binaries with MSVC is achieved through the following
   preparation, configure, and build commands:

      PATH=/usr/local/msvc32/bin:$PATH
      export PATH

      win32_target=_WIN32_WINNT_WINXP   # for MSVC 9.0
      win32_target=_WIN32_WINNT_VISTA   # possibly for MSVC >= 10.0
      win32_target=_WIN32_WINNT_WIN7    # possibly for MSVC >= 10.0
      win32_target=_WIN32_WINNT_WIN8    # possibly for MSVC >= 10.0

      ./configure --host=i686-w64-mingw32 --prefix=/usr/local/msvc32 \
            CC="$HOME/msvc/compile cl -nologo" \
            CFLAGS="-MD" \
            CXX="$HOME/msvc/compile cl -nologo" \
            CXXFLAGS="-MD" \
            CPPFLAGS="-D_WIN32_WINNT=$win32_target -I/usr/local/msvc32/include" \
            LDFLAGS="-L/usr/local/msvc32/lib" \
            LD="link" \
            NM="dumpbin -symbols" \
            STRIP=":" \
            AR="$HOME/msvc/ar-lib lib" \
            RANLIB=":"
      make
      make check

   Building 64-bit binaries with MSVC is achieved through the following
   preparation, configure, and build commands:

      PATH=/usr/local/msvc64/bin:$PATH
      export PATH

      win32_target=_WIN32_WINNT_WINXP   # for MSVC 9.0
      win32_target=_WIN32_WINNT_VISTA   # possibly for MSVC >= 10.0
      win32_target=_WIN32_WINNT_WIN7    # possibly for MSVC >= 10.0
      win32_target=_WIN32_WINNT_WIN8    # possibly for MSVC >= 10.0

      ./configure --host=x86_64-w64-mingw32 --prefix=/usr/local/msvc64 \
            CC="$HOME/msvc/compile cl -nologo" \
            CFLAGS="-MD" \
            CXX="$HOME/msvc/compile cl -nologo" \
            CXXFLAGS="-MD" \
            CPPFLAGS="-D_WIN32_WINNT=$win32_target -I/usr/local/msvc64/include" \
            LDFLAGS="-L/usr/local/msvc64/lib" \
            LD="link" \
            NM="dumpbin -symbols" \
            STRIP=":" \
            AR="$HOME/msvc/ar-lib lib" \
            RANLIB=":"
      make
      make check

   Installation:

      make install

  • 9
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值