プロジェクト

全般

プロフィール

GCC4を使うMSYS2環境構築手順 » 履歴 » バージョン 17

開発 次郎, 2025/05/04 11:54

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