我正在使用VS 2010构建CPPunit 1.12.1。我能够在VS 2008上成功构建CPP单元。我只构建CPPUnit库。 我收到了以下错误。我该如何解决这个错误。
error MSB3073: The command "copy "D:\src\cppunit\.\Debug\cppunit.lib" ..\..\lib\cppunit.lib
:VCEnd" exited with code 1. C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets 113 6 cppunit
I am also mentioning one of warnings which is related to error i think so.
C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(1151,5): warning MSB8012: TargetPath(D:\src\cppunit\.\Debug\cppunit.lib) does not match the Library's OutputFile property value (D:\src\cppunit\Debug\cppunitd.lib). This may cause your project to build incorrectly. To correct this, please make sure that $(OutDir), $(TargetName) and $(TargetExt) property values match the value specified in %(Lib.OutputFile).
答案 0 :(得分:1)
这些是构建后的事件错误。
在Visual Studio Solution Explorer中右键单击项目名称:
属性>>建设后活动
如果您不想要构建后事件,请从CommandLine文本框中删除文本。或修好路径!
答案 1 :(得分:1)
问题是构建后的步骤是这样的:复制“$(TargetPath)”.... \ lib \ $(TargetName).lib。
由于'TargetName'值根据构建类型而变化,因此请转到项目属性并根据所选构建更改“目标名称”。在您的情况下,如果您仔细检查“警告”,您会发现您正在尝试将cppunit.lib复制到.. \ lib文件夹,而实际上您的预期输出应该是cppunitd.lib。 TargetName不匹配!
我发现另一件有用的东西(可能只是我观察过的东西)是首先构建'release'构建,然后是'debug'构建。
答案 2 :(得分:0)
你的配置有点搞砸了。 您告诉MSVC在一个目录中创建一个输出文件,然后从另一个目录中使用它 - 看起来至少有一个目录不存在。
与cppunit
无关