我有一個很奇怪的問題。我在VS2012中有一個與其他庫靜態鏈接的項目。 如果我建立項目一切都很好。 但是,如果我重建項目,它將失敗並出現鏈接問題。 這個lib是編譯的,我不在編譯期間編譯它。 如果我清除所有內容或在先前的構建之上構建/重建,這並沒有什麼不同。 建造作品,重建 - 不是!在Visual Studio 2012中重建時出現奇怪的鏈接錯誤
任何人都可以給我至少一條線索 - 這兩條命令有什麼不同?我甚至不知道如何開始調查問題。
補充:
要全部回答的人 - 你是試圖解釋我的構建和重建之間的差異。謝謝,但我知道。你忽略了我之前解釋過的事實:
我可以完全清除以前的結果,刪除OutDir,刪除IntDir,刪除編譯產生的所有東西。仍然 - 建立工作,不重建。
在上面解釋的案例中 - 如果您第一次構建,構建和重建有什麼區別?
我沒有發佈錯誤的原因是那些只是鏈接錯誤告訴我.lib丟失。雖然它顯然不是。
這裏是例子:
1> C:\ Program Files文件(x86)的\微軟的Visual Studio 11.0 \ VC \ \包括sal.h(2872):警告RC4005: '_ useHeader' :重新定義 1>
1> C:\ Program Files文件(x86)的\微軟的Visual Studio 11.0 \ VC \ \包括sal.h(2882):警告RC4005: ' _on_failure':重新定義 1>
1>創建庫D:\ p4client \ ProAudio \ dev_main \ ProAudio \ XPlatform .. \ VisualStudioBuildProducts \ WaveShell-DAE \ Win32 \ Debug \ Products \ WaveShell-DAE.lib和對象D:\ p4client \ Pro Audio \ dev_main \ ProAudio \ XPlatform .. \ VisualStudioBuildProducts \ WaveShell-DAE \ Win32 \ Debug \ Products \ WaveShell-DAE.exp 1> DefaultSwap.obj:error LNK2019:無法解析的外部符號_ASI_UnregisterCustomByteSwapper @ 4在函數中引用_RemoveByteSwapper 1> DefaultSwap.obj:錯誤LNK2019:解析外部符號_ASI_RegisterCustomByteSwapper @ 8在功能_RegisterByteSwapper引用 1> PlugInLib.lib(PlugInUtils.obj):錯誤LNK 2001:解析外部符號_ 小鬼 _FicGestalt @ 8 1> PlugInLib.lib(CDSPProcess .OBJ):錯誤LNK 2001:解析外部符號_ 小鬼 _FicGestalt @ 8 1> PlugInLib.lib(CAdaptorPlugIn.obj):錯誤LNK 2001:解析外部符號_ imp的 _FicGestalt @ 8 1> CShellProcessGroup.obj:錯誤LNK2019:解析外部符號_ 小鬼 _FicGestalt @ 8函數引用 「公共:__thiscall CShellProcessGroup :: CShellProcessGroup(無效)」(?? 0CShellProcessGroup @@ @ QAE XZ) 1> CEffectTypeRTAS.obj:錯誤LNK2001:解析外部符號_ 小鬼 _FicGestalt @ 8 1> PlugInLib.lib(CProcessGroupInterface.obj):錯誤LNK 2001:解析外部符號_ 小鬼 _FicGestalt @ 8 1> PlugInLib。LIB(CProcessGroup.obj):錯誤LNK2001:解析外部符號_ 小鬼 _FicGestalt @ 8
也許這將有助於知道,在運行建立(不重建)我會得到以下警告:
1> C:\ Program Files文件(x86)的\微軟的Visual Studio 11.0 \ VC \ \包括sal.h(2872):警告RC4005: '_ useHeader':重新定義 1>
1> C:\ Program Files文件(x86)的\微軟的Visual Studio 11.0 \ VC \包括\ sal.h(2882):警告RC4005: ' _on_failure':重新定義 1>
1>創建庫D:\ p4client \ ProAudio \ dev_main \ ProAudio \ XPlatform .. \ VisualStudioBuildProducts \ WaveShell-DAE \ Win32 \ Debug \ Products \ WaveShell-DAE.lib和對象D:\ p4client \ ProAudio \ dev_main \ ProAudio \ XPlatform .. \ VisualStudioBuildProducts \ WaveShell-DAE \的Win32 \調試\產品\ WaveShell-DAE.exp 1> PlugInLib.lib(C321ChipDSP.obj):警告LNK4099:PDB 'vc110_ib_2.pdb' 不是用「PlugInLib找到。 lib(C321ChipDSP.obj)'或'D:\ p4client \ ProAudio \ dev_main \ ProAudio \ VisualStudioBuildProducts \ WaveShell-DAE \ Win32 \ Debug \ vc110_ib_2.pdb';警告LNK4099:PDB 'vc110_ib_3.pdb' 沒有與 'PlugInLib.lib(CDSP.obj)' 或「d發現:就好像沒有調試信息 1> PlugInLib.lib(CDSP.obj)鏈接對象\ p4client \專業音響\ dev_main \專業音響\ VisualStudioBuildProducts \ WaveShell-DAE \的Win32 \調試\ vc110_ib_3.pdb';警告LNK4099:PDB 'vc110_ib_4.pdb' 沒有與 'PlugInLib.lib(CDSPUtils.obj)' 或「d發現:就好像沒有調試信息 1> PlugInLib.lib(CDSPUtils.obj)鏈接對象\ p4client \專業音響\ dev_main \專業音響\ VisualStudioBuildProducts \ WaveShell-DAE \的Win32 \調試\ vc110_ib_4.pdb';如同沒有調試信息一樣鏈接對象
謝謝!
你可以退出你的問題,包括錯誤重建報告嗎? – simonc 2013-04-09 14:32:37
什麼是錯誤? – 2013-04-09 14:35:57
針對您的特定問題,請發佈您遇到的錯誤。就目前而言,你的問題似乎是「Build和Rebuild有什麼區別?」這可以回答[這裏](http://stackoverflow.com/questions/3095901/difference-between-build-solution-rebuild-solution-and-clean-solution-in-visua) – quandrei 2013-04-09 14:45:06