VS 2010中的CPP单元构建错误

时间:2011-03-24 16:06:30

标签: c++ visual-studio-2010

我正在使用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).

3 个答案:

答案 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

无关