しばらくこれに頭をぶつけているので、投稿すると思います。Project2が次のディレクトリ構造でProject1を使用/参照する2つのライブラリプロジェクトがあります。
c:\code\Library\Project1
c:\code\Library\Project2
どちらも図書館プロジェクトです。Project2の[プロパティ]>[構成プロパティ]>[C/C++]>[一般]>[追加のインクルードディレクトリ]にパスを含めました。読む..\Project1; %(AdditionalIncludeDirectories)
これで、Project1フォルダーに存在するファイルを#includesするファイルがProject2にあります。上記のようにパスを含めたにもかかわらず、エラーが発生します。
1>c:\code\Library\Project2\MyTestDlg.cpp(6): fatal error C1083: Cannot open include file: 'GraphCtrl.h': No such file or directory
奇妙なことに、元のプロジェクト名を変更しなければ、同様の設定が機能します。プロジェクトは元々、正常にリンクされているフォルダーにあります。
c:\code\Library\Project1 1.0.0
c:\code\Library\Project2 1.0.0
私がやっていることは、プロジェクトフォルダから最後のバージョン名を削除することです(そしてそれらを再び一緒に再リンクします)が、これは悪夢になっています!助言がありますか?
ps私はこれについてかなり調査しました。ディレクトリの長さに関係しているようですが、制限は十分にあると思います。以前は長いフォルダ名が機能し、短いフォルダ名は機能しないという事実は、長さが問題ではないことを示しています。
アドオン:
GraphCtrlLib 1.0.0.0
以下は、実際のファイル名で発生する実際のエラーです。問題の1つは、完全に削除して参照が見つからない場合でも、古いライブラリをフルネームで参照していることです。私はこれはおそらくこのエラーとは関係ありません。
1>Build started 12/11/2012 5:16:02 PM.
1>C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.Targets(1200,9): warning : The referenced project '..\Graph\Graph.vcxproj' does not exist.
1>InitializeBuildStatus:
1> Touching "Debug\ViewerLib.unsuccessfulbuild".
1>ClCompile:
1> All outputs are up-to-date.
1> OpenViewerDlg.cpp
1>c:\code\libraries\viewerlib\viewerdlg.cpp(6): fatal error C1083: Cannot open include file: 'GraphCtrl.h': No such file or directory