GCC4を使うMSYS2環境構築手順 » 履歴 » リビジョン 19
リビジョン 18 (開発 次郎, 2025/05/04 11:58) → リビジョン 19/20 (開発 次郎, 2025/05/04 12:08)
h1. GCC4を使うMSYS2環境構築手順
* MSYS2インストーラをダウンロードしてインストールする
** インストール先は *%MSYS2_ROOT%* とする
** 今回使用するのは msys2-x86_64-20250221.exe
* pacman -Syu
* SOURCEFORGEからGCC4を固めたMinGWを解凍し、%MSYS2_ROOT%下に設置する
** 元のmingw64/は削除するか、避けておく
** 回答したmingw64を移動する
** 今回使うのは x86_64-4.8.5-release-win32-sjlj-rt_v4-rev0.7z
* -WindowsのPATH環境変数は継承しないように設定を変更する- %{color:blue}後でやる%
** Windowsの環境変数にMSYS2_PATH_TYPE=strictを設定する
* {{collapse(pacman -S vim,閉じる)
<pre>
Packages (1) vim-9.1.1006-2
</pre>
}}
* {{collapse(pacman -S mingw-w64-x86_64-cmake,閉じる)
<pre>
Packages (35) mingw-w64-x86_64-brotli-1.1.0-4 mingw-w64-x86_64-bzip2-1.0.8-3
mingw-w64-x86_64-c-ares-1.34.5-1 mingw-w64-x86_64-ca-certificates-20241223-1
mingw-w64-x86_64-cppdap-1.65-1 mingw-w64-x86_64-curl-8.13.0-2
mingw-w64-x86_64-expat-2.7.1-2 mingw-w64-x86_64-gcc-libs-15.1.0-1
mingw-w64-x86_64-gettext-runtime-0.24.1-1 mingw-w64-x86_64-jsoncpp-1.9.6-3
mingw-w64-x86_64-libarchive-3.7.9-2 mingw-w64-x86_64-libb2-0.98.1-2
mingw-w64-x86_64-libffi-3.4.8-1 mingw-w64-x86_64-libiconv-1.18-1
mingw-w64-x86_64-libidn2-2.3.8-2 mingw-w64-x86_64-libpsl-0.21.5-3
mingw-w64-x86_64-libssh2-1.11.1-1 mingw-w64-x86_64-libsystre-1.0.2-1
mingw-w64-x86_64-libtasn1-4.20.0-1 mingw-w64-x86_64-libtre-0.9.0-1
mingw-w64-x86_64-libunistring-1.3-1 mingw-w64-x86_64-libuv-1.51.0-1
mingw-w64-x86_64-libwinpthread-git-12.0.0.r679.g71699efcb-1
mingw-w64-x86_64-lz4-1.10.0-1 mingw-w64-x86_64-nghttp2-1.65.0-1
mingw-w64-x86_64-nghttp3-1.9.0-1 mingw-w64-x86_64-ninja-1.12.1-1
mingw-w64-x86_64-openssl-3.5.0-1 mingw-w64-x86_64-p11-kit-0.25.5-1
mingw-w64-x86_64-pkgconf-1~2.3.0-1 mingw-w64-x86_64-rhash-1.4.5-1
mingw-w64-x86_64-xz-5.8.1-2 mingw-w64-x86_64-zlib-1.3.1-1
mingw-w64-x86_64-zstd-1.5.7-1 mingw-w64-x86_64-cmake-4.0.1-1
</pre>
}}
** %{color:darkred}cmakeではない点に注意%
* {{collapse(pacman -S git,閉じる)
<pre>
Packages (34) heimdal-7.8.0-5 libcbor-0.11.0-1 libfido2-1.15.0-1 openssh-9.9p2-1
perl-Authen-SASL-2.1700-1 perl-Clone-0.47-1 perl-Convert-BinHex-1.125-2
perl-Encode-Locale-1.05-2 perl-Error-0.17029-2 perl-File-Listing-6.16-1
perl-HTML-Parser-3.83-1 perl-HTML-Tagset-3.24-1 perl-HTTP-Cookies-6.11-1
perl-HTTP-Daemon-6.16-1 perl-HTTP-Date-6.06-1 perl-HTTP-Message-7.00-1
perl-HTTP-Negotiate-6.01-3 perl-IO-HTML-1.004-2 perl-IO-Socket-SSL-2.089-1
perl-IO-Stringy-2.113-2 perl-LWP-MediaTypes-6.04-2 perl-MIME-tools-5.515-1
perl-MailTools-2.22-1 perl-Net-HTTP-6.23-1 perl-Net-SMTP-SSL-1.04-2
perl-Net-SSLeay-1.94-2 perl-TermReadKey-2.38-6 perl-TimeDate-2.33-2
perl-Try-Tiny-0.32-1 perl-URI-5.31-1 perl-WWW-RobotRules-6.02-3
perl-http-cookiejar-0.014-1 perl-libwww-6.77-1 git-2.48.1-1
</pre>
}}
* pacman -S make
* {{collapse(pacman -S python,閉じる)
<pre>
Packages (2) mpdecimal-4.0.0-1 python-3.12.10-1
</pre>
}}
** %{color:darkgreen}/mingw64.GCC485/opt/bin/python.exeがある。こっちを使った方が良いかもしれない%
* boost_1_66_0をダウンロードしてインストールする
** %{color:darkgreen}1_66_0はMSYS2を認識する最初のバージョン。これより古いboostはMSYSでビルドできない%
{{collapse(ビルド手順,閉じる)
<pre><code class="bash">
$ tar xf boost_1_66_0.tar.bz2
$ cd boost_1_66_0
$ ./bootstrap.sh
$ ./b2 --build-dir=build --prefix=/opt/boost-1.66.0 -link=static threading=multi cxxflags=-fPIC stage
$ ./b2 --build-dir=build --prefix=/opt/boost-1.66.0 -link=static threading=multi cxxflags=-fPIC install
</code></pre>
}}
** -fPICオプションは不要かもしれない。g++でコンパイル中、enabled by defaultとメッセージが表示される。
h2. トラブルメモ
h3. GoogleTest 1.8.0がビルドできない
<pre>
CMake Error at build/_deps/googletest-src/CMakeLists.txt:1 (cmake_minimum_required):
Compatibility with CMake < 3.5 has been removed from CMake.
Update the VERSION argument <min> value. Or, use the <min>...<max> syntax
to tell CMake that the project requires at least <min> but has been updated
to work with policies introduced by <max> or earlier.
Or, add -DCMAKE_POLICY_VERSION_MINIMUM=3.5 to try configuring anyway.
</pre>
* 解決策
** cmake実行時に次のオプションを付けた。まだワーニング出てるがまず先に進む。
*** -D CMAKE_POLICY_VERSION_MINIMUM=3.5
** %{color:red}ひょっとしてCMakeLists.txtで何か記述する方法もある?%