将UNIX生成文件测试参数转换为MSBudioVS2010,C++

将UNIX生成文件测试参数转换为MSBudioVS2010,C++,c++,visual-studio-2010,makefile,C++,Visual Studio 2010,Makefile,完全披露:这是一个学校项目。该项目是在C++中。他们通常希望我们使用他们的实验室计算机,这是UNIX系统,这意味着makefile在实验室计算机上运行良好。但是,就像大多数的实验室比对一样,它们都是垃圾。他们的胡说八道让我失去了不止一个项目。但是,这既不存在,也不存在 正如我所说,我有这个UNIX生成文件。我不在乎编译说明;我会让msbuild处理这个问题。我真正关心的是makefile末尾的测试过程。这些是使用另一个.cpp文件进行的测试,我的项目必须通过该文件才能进行评分。现在,我想在vs中

完全披露:这是一个学校项目。该项目是在C++中。他们通常希望我们使用他们的实验室计算机,这是UNIX系统,这意味着makefile在实验室计算机上运行良好。但是,就像大多数的实验室比对一样,它们都是垃圾。他们的胡说八道让我失去了不止一个项目。但是,这既不存在,也不存在

正如我所说,我有这个UNIX生成文件。我不在乎编译说明;我会让msbuild处理这个问题。我真正关心的是makefile末尾的测试过程。这些是使用另一个.cpp文件进行的测试,我的项目必须通过该文件才能进行评分。现在,我想在vs中执行此项目,但我不确定如何将UNIX makefile中的指令转换为msbuild可以理解的内容。有没有办法将其添加到vs中的xml文件中?我应该使用生成后命令行选项来运行这些测试吗?我最好的选择是什么?我在下面的makefile中包含了相关代码。我知道我可以在命令行中单独运行每个测试,但这将非常耗时。如有任何建议,将不胜感激。谢谢

请注意,我删除了其他文件的编译说明,因为我认为它们与我的问题无关。 代码:

清洁: rm-f core*.o HashTableTemplateTest HashTableVoidTest ListTemplateTest\
wcVoid wcTemplate out1 out2测试结果首先,将其更改为DOS批处理文件

test:
del /Q /F test_results

ListTemplateTest 
if NOT ERRORLEVEL 1
    echo "ListTemplateTest OK" >> test_results
if ERRORLEVEL 1
    echo "ListTemplateTest Failed" >> test_results

HashTableTemplateTest test1
if NOT ERRORLEVEL 1
    echo "HashTableTemplateTest test1  OK" >> test_results
if ERRORLEVEL 1
    echo "HashTableTemplateTest test1  Failed" >> test_results

etc ...
现在,在VisualStudio中

右键单击项目名称 从菜单中选择属性。 在属性树中,选择 配置属性 构建事件 生成后事件 将批处理文件作为命令行放入

应该这样做

test:
del /Q /F test_results

ListTemplateTest 
if NOT ERRORLEVEL 1
    echo "ListTemplateTest OK" >> test_results
if ERRORLEVEL 1
    echo "ListTemplateTest Failed" >> test_results

HashTableTemplateTest test1
if NOT ERRORLEVEL 1
    echo "HashTableTemplateTest test1  OK" >> test_results
if ERRORLEVEL 1
    echo "HashTableTemplateTest test1  Failed" >> test_results

etc ...