LoginSignup
0
0

KnightKingを動かそうとしたらハマった話

Posted at

これを動かすのに困ったので、いつかの私か誰かのための備忘録

💡 Ckake-makeのコンパイルをできるようにする!

インストール手順

  1. Brewを用いて必要なものをインストールする
    1. brew install cmake
    2. brew install make
    3. brew install gcc
  2. それぞれが入っているのか、確認する. 何か反応があり、格納されているパスが出力されれば、入力を確認できる。
    1. which gcc
    2. which g++
    3. 出力は以下のようなものが出るはず
      1. /usr/bin/gcc
  3. バージョンを確認して、シンボリックリンクを作成する
    1. バージョンの確認
      1. ls -l /usr/local/bin/g++-15
      2. ls -l /usr/local/bin/gcc-15
    2. シンボリックリンクの作成。管理者権限で行う。この時、バージョンを自分で確認した上のものにすることに注意(バージョンを指定せずに書く方法もあるらしいがここでは略)
      1. sudo ln -sf /usr/local/bin/g++-15 /usr/local/bin/g++
      2. sudo ln -sf /usr/local/bin/gcc-15 /usr/local/bin/gcc
  4. 環境変数を設定する. 2024年ぐらいからのMacではzshが使用されているみたいなので、それに従って記述する(ここで、私はClang中心にコンパイルした
    1. 設定ファイルを開く
      1. nano ~/.zshrc
    2. CXX、CCのコンパラセットの環境変数を記述(Clangで実行したくて、Gccがあるとエラーになってしまったのでこのような構成になった。多分正しいけど動いたから頭が良くなったら修正する)
      1. export PATH="/usr/local/bin:$PATH"
      2. export CXX=/usr/local/bin/clang
      3. export CC=/usr/local/bin/gcc
      4. export CC=/usr/bin/gcc
      5. export CC=/usr/bin/clang
    3. 環境変数の変更を反映させる
      1. source /.zshrc
  5. 目的のファイルで、cmake→makeをすれば入る、はず。

もがき苦しんだエラーたち🥺

エラー1

CMake Error at /opt/homebrew/Cellar/cmake/3.29.5/share/cmake/Modules/CMakeDetermineCXXCompiler.cmake:48 (message):
Could not find compiler set in environment variable CXX:
/usr/local/bin/g++.

Call Stack (most recent call first):
CMakeLists.txt:3 (project)
  • ここらへんは全て環境変数の設定だった。
    • パスが通っていない時
      • パスのタイポなど確認
      • パスがSourceによって更新されているのか確認
    • パスを通したのに無理な時
      • 4ーbで入れた設定のうち、何かがおかしいのだと思う。
      • エラーが出ていそうな変数を消したり、gcc を増やしたりするとうまくいったがあんまり理解できてなくてぴえん
        • 例えば、記憶は曖昧だが、以下の変数を消したらうまくいった
          • export CXX=/usr/local/bin/gcc
      • ここの環境変数が全て悪さをしている、と思う。
      • ゆうて参考になるWebサイトがないので絶望

エラー2

ダウンロードしたコードなのにコードエラー
ポインタが認識できない変数が定義されていない
  • cmakeができているのなら、実行環境が正しくない
  • 私は、Ubuntのものを永遠にMacで実行していたので、時間を溶かした🫠🫠
    • 環境構築もできないなんて、、、となるが、プライドを捨てて相談するべきという本日の学び

エラー3

Clangでコンパイルにすると、以下のようなエラーが出ることもある。

この時は、cのバージョンを指定してあげることでエラーを解消することができる

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0