2017-06-12 27 views
0

私はMinGWを推奨するCLionを実行しています。最新のものはMSYS2のようです。最初に、クリオンはgcc、cmakeなどを見つけませんでした。これを行うには、mingw-w64-x86_64-toolchainをインストールしなければなりませんでした。これはmsys64(MSYS2インストールフォルダ)フォルダにmingw64フォルダを作成します。MSYS2とmingw-w64-x86_64-toolchainでunistd.hが異なるのはなぜですか?

コンパイルしようとしているソフトウェアには、sysconfのようなMSVC関数またはPOSIXのいずれかが必要です。しかし、少なくともmingw-w64-x86_64-toolchainのunistd.hでは、sysconfは未定義です。 MSYS2自体の主なunistd.hには、それが利用可能です。

大きな違いは何ですか?なぜ彼らは同じではありませんか?

答えて

1

MSYS2環境では、two toolchainsが提供され、Windowsでは2つの異なるランタイムが対象となります。

  1. /usrにあるmsys2ツールチェーンは、msys-2.0.dll POSIXエミュレーションレイヤーに依存するプログラムを作成します。
  2. /mingw32または/ mingw64に存在するMinGWツールチェーンは、基本的にMicrosoftのヘッダーとlirbariesによって提供される機能にのみアクセスできるネイティブWindowsプログラムを作成します。これらのプログラムは、他のユーザーに再配布しやすく、一般的には高速に動作します。

本当にPOSIXの多くの機能が必要な場合は、おそらくMinGWツールチェーンを使用できません。

関連する問題