[解決済み] CMakeでCCacheを使うには?
2022-12-01 09:34:06
質問
以下のようにしたいのですが、どうすればよいでしょうか。CCache が PATH に存在する場合、コンパイルに "ccache g++" を使用し、そうでない場合は g++ を使用します。私は、以下を含む小さな my-cmake スクリプトを書くことを試みました。
CC="ccache gcc" CXX="ccache g++" cmake $*
が、うまくいかないようです(makeを実行してもccacheは使われません。CMAKE_VERBOSE_MAKEFILE onを使って確認しました)。
更新しました。
以下の通りです。 このリンク というスクリプトに変更してみました。
cmake -D CMAKE_CXX_COMPILER="ccache" -D CMAKE_CXX_COMPILER_ARG1="g++" -D CMAKE_C_COMPILER="ccache" -D CMAKE_C_COMPILER_ARG1="gcc" $*
が、cmake はコンパイラの ccache を使用する際にテストが失敗したと文句を言いながら終了します (これは予想できます)。
どのように解決するのですか?
私自身は
/usr/lib/ccache
の中に
$PATH
. このディレクトリには、コンパイラが呼び出される可能性のあるすべての名前に対するシンボリックリンクが含まれています (たとえば
gcc
と
gcc-4.3
を含む)、すべて ccache を指しています。
そして、私はシンボリックリンクを作成しませんでした。そのディレクトリは、Debian に ccache をインストールしたときに、あらかじめ埋められるようになっています。
関連
-
[解決済み】C++ 式はポインタからオブジェクトへの型を持っている必要があります。
-
[解決済み] Bashシェルスクリプトでディレクトリが存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] 文字列の単語を反復処理するにはどうすればよいですか?
-
[解決済み] 1ビットのセット、クリア、トグルはどのように行うのですか?
-
[解決済み] スマートポインターとは何ですか?
-
[解決済み] すべてのディレクトリとサブディレクトリを再帰的にgrepするにはどうしたらいいですか?
-
[解決済み] なぜ、オブジェクトそのものではなく、ポインタを使用しなければならないのですか?
-
[解決済み] なぜテキストファイルは改行で終わらなければならないのですか?
-
[解決済み] 仮想デストラクタはいつ使うのか?
-
[解決済み] Intel CPU の _mm_popcnt_u64 で、32 ビットのループカウンターを 64 ビットに置き換えると、パフォーマンスが著しく低下します。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Visual Studio 2015で「非標準の構文; '&'を使用してメンバーへのポインターを作成します」エラー
-
[解決済み] [Solved] Error C1083: Cannot open include file: 'stdafx.h'
-
[解決済み】変数 '' を抽象型 '' と宣言できない。
-
[解決済み】文字列関数で'char const*'のインスタンスを投げた後に呼び出されるterminate [閉店].
-
[解決済み】テンプレートの引数1が無効です(Code::Blocks Win Vista) - テンプレートは使いません。
-
[解決済み】「std::operator」で「operator<<」にマッチするものがない。
-
[解決済み】Visual C++で "Debug Assertion failed "の原因となる行を見つける。
-
[解決済み】1つ以上の多重定義されたシンボルが見つかる
-
[解決済み】C++ - ステートメントがオーバーロードされた関数のアドレスを解決できない。
-
[解決済み】VC++の致命的なエラーLNK1168:書き込みのためにfilename.exeを開くことができません。