2009-05-05 33 views
6

我正在將一個解決方案從visual studio 2005遷移到visual studio 2008.當我在2005年構建解決方案時,我沒有任何問題。但是,在我使用devenv.exe/Upgrade並在解決方案上使用msbuild後,出現以下警告:將Visual Studio 2005 sln遷移到2008,警告在LIB環境變量中使用vc98路徑,如何解決?

CSC:警告CS1668:'LIB環境變量'中指定的無效搜索路徑'\ vc98 \ lib' - - '該系統找不到指定的路徑。' CSC:警告CS1668:'LIB環境變量'中指定的無效搜索路徑'\ vc98 \ mfc \ lib' - '系統找不到指定的路徑。 ' CSC:警告CS1668:'LIB環境變量'中指定的無效搜索路徑'c:\ program files \ microsoft visual studio 9.0 \ vc \ platformsdk \ lib' - '系統找不到指定的路徑。

我檢查了http://social.msdn.microsoft.com/Forums/en-US/Vsexpressinstall/thread/3f875480-fee2-4bc3-b829-95e220b22a01,它沒有提供任何幫助,因爲我的LIB和INCLUDE環境變量沒有在用戶變量或系統變量中設置。我已經看了Studio的工具>選項>項目和解決方案> VC++目錄並沒有什麼引用什麼老:

庫文件: $(VCInstallDir)LIB $(VCInstallDir)atlmfc \ LIB $(VCInstallDir) atlmfc \ LIB \ I386 $(WindowsSdkDir)\ LIB $(FrameworkSDKDir)LIB $(VSInstallDir) $(VSInstallDir)LIB

包含文件:

$(VCInstallDir)包括 $(VCInstallDir) atlmfc \ include $(WindowsSdkDir)包括 $(FrameworkSDKDir)包括

我使用的診斷輸出,這樣我可以看到LIB變量包括:當被稱爲什麼:

LIB = C:\ Program Files文件\微軟的Visual Studio 9.0 \ VC \ ATLMFC \ LIB; c:\ Program Files \ Microsoft Visual Studio 9.0 \ VC \ LIB; C:\ Program Files \ Microsoft SDKs \ Windows \ v6.0A \ lib; \ vc98 \ lib; \ vc98 \ mfc \ lib; c:\ program files \ microsoft visual studio 9.0 \ vc \ platformsdk \ lib; c:\ program files \ microsoft visual studio 9.0 \ vc \ lib; c:\ program files \ microsoft visual studio 9.0 \ vc \ atlmfc \ lib ; LIBPATH = c:\ Windows \ Microsoft.NET \ Framework \ v3.5; c:\ Windows \ Microsoft.NET \ Framework \ v2.0.50727; c:\ Program Files \ Microsoft Visual Studio 9.0 \ VC \ ATLMFC \ LIB;因此,如果該vc98不在我的env vars中,或者我的工作室設置和vc98甚至沒有安裝(也不是redist),那麼路徑在哪裏來自(哪裏?什麼過程像這樣設置LIB env var?

回答

2

上找到MSDN

是的,這是發生 一些人的已知問題。仔細查看你的LIB路徑 。 ATLMFC之後,V, SDK - > \ vc98 \ lib。刪除此條目 (以及後面的條目)。如果 LIB是一個用戶變量,那麼您將需要重新啓動VS或 並重新打開。如果它是一個系統 變量,那麼你將不得不重新啓動。 你的錯誤應該消失。

0

好像你已經覆蓋了大部分東西,所以我唯一能想到的就是繼承屬性表。

它們在vcproj XML(或者你可以檢查物業經理在IDE)中規定:

<VisualStudioProject> 
    <Configurations> 
     <Configuration InheritedPropertySheets="stuff.vsprops">... 

如果你確實有一些繼承屬性表,請在文件中都有一個看看,看看你有任何顯式的vc98 lib路徑設置?

+0

都能跟得上。在任何正在遷移的VCProj文件中沒有單個InheritedPropertySheets屬性。 – 2009-05-07 14:19:20

+0

對不起,邁克。這是我最好的猜測。 – RedBlueThing 2009-05-07 14:26:14

+0

不需要道歉。我希望有些微軟能夠知道發生了什麼。 – 2009-05-07 15:17:34

0

我在VS.NET2010中遇到了與C#項目非常類似的問題。它似乎隻影響那些導入C++/CLI項目的項目。項目仍然使用v9.0工具集(C++,C++/CLI)和.NET 3.5(C++/CLI,C#)進行編譯。你有幸找到問題的根源嗎?

我通過將警告1668添加到受影響的項目的屬性中的忽略警告列表來解決此問題。這並不理想,但比我的警告列表中的垃圾郵件更好。

相關問題