2015-11-04 73 views
0

preemtively问这个问题,因为没有太多可以找到关于此错误代码后,用代码1退出。解决这个问题相当微不足道,但是由于没有给出适当的错误信息,我花费了很多时间来诊断。错误MSB6006:“CL.EXE”添加模板函数或

那么发生了什么?

  • 我添加模板功能,我的项目现在
  • 当项目编译,弹出一个消息说,CL.exe有一个问题,需要被关闭
  • 的Visual Studio中止编译与error MSB6006: "CL.exe" exited with code 1

问题是我的模板函数中的语法错误。谁能猜到。

然而,这是很难找到的,因为这些并没有得到报告。查看我的答案,了解如何确定哪些功能有缺陷。

模板化功能均包含在头一个.cpp,然而,在头完全确定他们没有任何区别。

// foo.h 

template <typename T> 
void foo(); 

... 

#include "foo.cpp" 



// foo.cpp 

template <typename T> 
void foo() 
{ 
... 
} 
+0

您是否在头文件中定义了函数模板? – emlai

回答

2

首先你需要编译所有的.cpp文件,其中包括模板功能seperately(选择一个在项目资源管理器,右击“编译”)。

对我来说,第一个暗示是,他们中的一些编制,而对另一些cl.exe坠毁。

下一步是要创造一个bogus.cpp文件只有一个功能,其中一个接一个,我添加到我创建的每个模板函数调用。添加一个之后:重新编译。这进展顺利,直到我找到有缺陷的,现在bogus.cpp也坠毁cl.exe。大奖。

最后一个作业是固定的语法错误,这是没有错误消息烦人,但一旦做到这一点,bogus.cpp将再次编译。返回到在那里添加更多函数调用,直到你覆盖了所有内容。

希望我能帮上忙。