現在のプロジェクトはかなり複雑な構造(変更できません)を持ち、CMakeを使用しています。 しかし、私はコンパイルできるMakefileを作るのに困っています。CMakeはMakefile生成で長すぎるパス名を生成します
主に問題がある:私のプロジェクトはD:\a\b\c\build
で、D:\a\b\c\
にD:\a\b\c\src\d\e
でいくつかのソースとビルドフォルダに格納されている場合は、cmakeのはD:\a\b\c\build\SubProjectName\CMakeFiles\DetailedSubPrjectName.dir\D_\a\b\c\src\d\e
のようないくつかのフォルダを作成します。私はあなたがポイントを得ると思う - それは結果のパスが260文字より長いことが起こる。
プロジェクトの構造(私のコードではない)を平坦化できません。この作業を行う唯一の方法は、プロジェクト全体をフォルダ構造のどこかに置くことです。ドライブルートの近くに(非常に)(私は約10-15文字の空きがあります)。しかし、これは本当に受け入れられません、時にはより多くの文字が必要です。
CMakeがビルドディレクトリにフラット構造を作成するか、(WinXPで)より長いパス名を使用するように説得する方法はありますか?それとも別のアイデアですか?
CMAKE_USE_RELATIVE_PATHSを使用しても問題は残ります。私の現在の解決策は、一時ディレクトリ(c:\ tmp \ buildのような)を使用し、ビルド後のコピーを追加することです。私が推測する最良の解決策ではなく、私が考えることができる唯一の解決策です。 –