ひつじTips

技術系いろいろつまみ食います。

CLionのリモートモードでの開発で,ビルドは通るのにEditor上ではライブラリがnot foundになり,コード補完が効かない問題

CLionのフルリモートモード時に, ビルドは普通に通るにも関わらず,Editor上では以下のようにライブラリのパスが通っていないような状況になり, コード補完や定義の確認などが全くできなくなる問題が起きました.

f:id:mu-777:20210717155405p:plain

環境は,CLionが動いているホストはWindows,リモートはWSL上のDockerコンテナやサーバ(ubuntu)でこの問題を確認しました.

自分の環境では,以下で紹介する「解決方法2」の方で解決できました!

が,ちゃんとウラが取れたというわけでもないので,参考にするぐらいの感じでお願いしまっす🙏🙏

解決方法1

ちょっと古い情報ですが,CLionは言語周りの設定で問題があるそうです.

これらによると,CLion実行の際に$ LANG=en_US.UTF-8 /path/to/clion.sh$ LC_ALL=C /path/to/clion.shと,環境変数で言語周りの設定をしてやるとよいみたいです.

ただ,CLionをWindowsで実行している場合はどうやるのかはよくわかりませんでした......

とりあえず,CLionのexeがある場所(デフォだとC:\Users\<username>\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\<version>\bin)にclion.batというのがあるので,その先頭にSET LANG=5参考)や,chcp 65001参考)などを入れて実行してみましたが,自分の環境では何も変化ありませんでした......

今回は自分の環境では解決方法にならなかったですが,念のため記載しておきます.

解決方法2

今回の自分の環境では,こちらにあるヘッダの検索パスの再Syncで解決できました!

www.jetbrains.com

具体的には,Ctrl + Shift + Aでアクション検索を出して,resyncで検索,出てきたResync with Remote Hosts を実行することで,ヘッダの検索パスの再Syncができます.

f:id:mu-777:20210717161156p:plain

再Syncを実行してしばらく待つと,iostreamに出ていた赤波線がなくなり,コード補完なども効くようになりました.