我有一个非常奇怪的问题。我在 VS2012 中有一个与另一个库静态链接的项目。如果我建立项目一切都很好。但是,如果我重建项目,它将因链接问题而失败。lib已编译,我在构建期间不编译它。 如果我清理所有内容或在先前构建的基础上进行构建/重建,这没有区别。建造工程,重建 - 不是!
谁能给我至少一个线索-这两个命令有什么不同?我什至不知道如何开始调查这个问题。
补充:
对于所有回答的人-您试图向我解释构建和重建之间的区别。谢谢,但我知道。你忽略了我之前解释的事实:
我可以完全清理以前的结果,删除 OutDir,删除 IntDir,删除编译产生的所有内容。仍然 - 构建工作,不重建。
在上述情况下 - 如果您第一次构建,构建和重建之间有什么区别?
我没有发布错误的原因是那些只是链接错误告诉我 .lib 丢失。虽然显然不是。
这是示例:
1>C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\sal.h(2872): 警告 RC4005: '_ useHeader' : 重新定义 1>
1>C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\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\Debug\Products\WaveShell-DAE.exp 1>DefaultSwap.obj:错误 LNK2019:未解析的外部符号 _ASI_UnregisterCustomByteSwapper@4 在函数 _RemoveByteSwapper 1>DefaultSwap.obj 中引用:错误 LNK2019:未解析的外部函数 _RegisterByteSwapper 1>PlugInLib.lib(PlugInUtils.obj) 中引用的符号 _ASI_RegisterCustomByteSwapper@8:错误 LNK2001:未解析的外部符号_imp _FicGestalt @8 1>PlugInLib.lib(CDSPProcess.obj):错误 LNK2001:未解析的外部符号_imp_FicGestalt@8 1>PlugInLib.lib(CAdaptorPlugIn.obj):错误 LNK2001:无法解析的外部符号_imp _FicGestalt @8 1>CShellProcessGroup.obj:错误 LNK2019:无法解析的外部符号_imp _FicGestalt@8 在函数“public: __thiscall CShellProcessGroup”中引用::CShellProcessGroup(void)" (??0CShellProcessGroup@@QAE@XZ) 1>CEffectTypeRTAS.obj : 错误 LNK2001: 无法解析的外部符号 _ imp _FicGestalt@8 1>PlugInLib.lib(CProcessGroupInterface.obj) : 错误 LNK2001: 无法解析的外部符号_imp _FicGestalt@8 1>PlugInLib.lib(CProcessGroup.obj):错误 LNK2001:未解析的外部符号_imp _FicGestalt @8
也许知道在运行构建(不是重建)时我会收到以下警告会有所帮助:
1>C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\sal.h(2872): 警告 RC4005: '_ useHeader' : 重新定义 1>
1>C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\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\Debug\Products\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';链接对象好像没有调试信息 1>PlugInLib.lib(CDSP.obj):警告 LNK4099:在“PlugInLib.lib(CDSP.obj)”或“D:\p4client\ProAudio”中找不到 PDB 'vc110_ib_3.pdb' \dev_main\ProAudio\VisualStudioBuildProducts\WaveShell-DAE\Win32\Debug\vc110_ib_3.pdb'; 链接对象,好像没有调试信息 1>PlugInLib.lib(CDSPUtils.obj):警告 LNK4099:在“PlugInLib.lib(CDSPUtils.obj)”或“D:\p4client\ProAudio”中找不到 PDB 'vc110_ib_4.pdb' \dev_main\ProAudio\VisualStudioBuildProducts\WaveShell-DAE\Win32\Debug\vc110_ib_4.pdb'; 链接对象好像没有调试信息
谢谢!