YNUCPC / ynu-icpc-library

ICPC用のライブラリ
MIT License
3 stars 0 forks source link

テストコードのincludeパスを相対パスにする提案 #49

Closed noss3885 closed 2 years ago

noss3885 commented 2 years ago

./test/ にある #include "src/hoge/fuga.hpp"#include "../../src/hoge/fuga.hpp" にする。

背景

#include "" によるインクルードファイルの検索順序はおよそ

  1. ""で指定したディレクトリ
  2. -I のコンパイラオプションで追加したディレクトリ
  3. 環境変数

のようです。(参考1, 参考2)

現在、verifyに利用しているoj-verifyは自動的にリポジトリのあるディレクトリを -I で追加してくれているようなので問題はないですが、手元でコンパイルやlinterにかけるときには自分でインクルードパスを設定する必要があります。

メリット

デメリット

メモ

この記事によると、同じ名前のファイルやインクルード関係が複雑だと問題がありそうです。ただ、今のところは同じ名前のファイルを置いたり、ディレクトリの階層が深くなったりすることはなさそうなので大丈夫な気もします。

noss3885 commented 2 years ago

やります