【问题标题】:mingw-64 - Install packagemingw-64 - 安装包
【发布时间】:2017-08-10 15:57:28
【问题描述】:

我在Windows 10 中使用mingw_64CLion 尝试在一个简单的项目中使用库(https://github.com/libtrading/libtrading),但是该库需要在使用该库之前安装一些包。问题是Linux环境的安装说明如下:

# Debian
$ apt-get install pkg-config libxml2-dev libglib2.0-dev libncurses5-dev \
    python-yaml libevent-dev

# Fedora
$ yum install zlib-devel libxml2-devel glib2-devel vim-common ncurses-devel \
    python-yaml libevent-devel

# OSX
$ brew install libevent glib pkgconfig
$ pip install pyyaml

那么,如何在Windows 10 环境中的mingw_64CLion 中安装这些先决条件?

【问题讨论】:

  • 你使用的是 Cygwin 环境吗?
  • @JonnySchubert mingw_64。我应该把它改成Cygwin 吗?
  • 在 cygwin 环境中,安装缺少的库更容易,无需任何额外的努力。但请注意,cygwin (.exe) 中的链接资源将依赖于 cygwin.dll。否则,您必须下载 .dll 或每个所需库的源代码。
  • 您正在从事的是 c 还是 c++ 项目?请删除错误的标签。
  • @JonnySchubert 为什么投反对票???库位于C,项目位于C++。标签有什么问题?

标签: c++ c cmake mingw mingw-w64


【解决方案1】:

如果你通过 MSYS2 安装了 MinGW,你可以使用 MSYS2 pacman package manager 来安装额外的包:

MSYS2 软件分发使用来自 Arch Linux 的 pacman 端口来管理(安装、删除和更新)二进制包,并首先构建这些包。

寻找包裹

pacman -Ss <name or part of the name of the package>

安装包

pacman -S <name of the package>

例子:

$ pacman -Ss libxml2
mingw64/mingw-w64-x86_64-libxml2 2.9.8-1
    XML parsing library, version 2 (mingw-w64)
. . .
$ pacman -S mingw64/mingw-w64-x86_64-libxml2
resolving dependencies...
looking for conflicting packages...

Total Download Size:    1.37 MiB
Total Installed Size:  11.06 MiB

:: Proceed with installation? [Y/n]
:: Retrieving packages...
:: Processing package changes...
(1/1) installing mingw-w64-x86_64-libxml2           [##################################] 100%

pacman 的较短版本是pacboy。例如,您可以指定:x 后缀来安装mingw64 包:

$ pacboy -S libxml2:x

【讨论】:

    【解决方案2】:

    MinGW 没有任何包管理,因此安装依赖项通常意味着自己从源代码构建它们。对于那些自建包,除了 MinGW 安装之外,我还有一个类似 Unix 的目录结构(包含通常的 bin、lib、include 等目录)。

    在我展开之前,请检查 libTrading 是否支持 Windows。快速浏览一下 libTrading GitHub,在任何地方都没有提到 Windows。这可能意味着该项目根本不支持 Windows。但是,我们不再谈论配置构建环境,而是为该项目添加对全新操作系统的支持。

    【讨论】:

      【解决方案3】:

      这是我使用的方式

      $ cat /usr/bin/install
      # How to use
      # install rsync
      
      cd /
      
      echo $1
      # echo $2
      
      URL=http://repo.msys2.org/msys/x86_64
      FILE=`wget -O - -o /dev/null $URL | sed -n 's/.*href="\([^"]*\).*/\1/p' | grep -E ^$1 | egrep -v '.sig$' | sort | tail -1f`
      
      echo $FILE
      
      # wget -qO- $URL/$FILE | tar -I zstd -xvf - -C /
      # wget -qO- $URL/$FILE | tar xJvf - -C /
      
      if [[ $FILE == *.zst ]] # * is used for pattern matching
      then
        wget -qO- $URL/$FILE | tar -I zstd -xvf - -C /
      elif [[ $FILE == *.xz ]]
      then
        wget -qO- $URL/$FILE | tar xJvf - -C /
      else
        echo "$FILE is not extracted"
      fi
      
      
      $ install whois
      whois
      
      whois-5.5.9-1-x86_64.pkg.tar.zst
      .BUILDINFO
      .MTREE
      .PKGINFO
      etc/
      etc/whois.conf
      usr/
      usr/bin/
      usr/bin/whois.exe
      usr/share/
      usr/share/man/
      usr/share/man/man1/
      usr/share/man/man1/whois.1.gz
      usr/share/man/man5/
      usr/share/man/man5/whois.conf.5.gz
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-04-18
        • 2017-08-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-06-19
        • 2019-01-05
        • 2019-03-05
        相关资源
        最近更新 更多