プロジェクト

全般

プロフィール

GCC4を使うMSYS2環境構築手順 » 履歴 » リビジョン 14

リビジョン 13 (開発 次郎, 2025/05/04 11:40) → リビジョン 14/20 (開発 次郎, 2025/05/04 11:46)

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> 
 }} 
 * boost_1_66_0をダウンロードしてインストールする 
 ** %{color:darkgreen}1_66_0はMSYS2を認識する最初のバージョン。これより古いboostはMSYSでビルドできない% 
 ** 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 



 


 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>