2012-12-20 54 views
1

我尝试使用编译命令行一个C++文件:编译命令行的Visual C++

C:\"Program Files (x86)"\"Microsoft Visual Studio 10.0"\VC\bin\x86_amd64\CL /FAcs C:\Users\X\Documents\"Visual Studio 2010"\Projects\"Project File"\My_Project\HELLO.CPP 

,但我得到的错误:

The program can't start because mspdb100.dll is missing from your computer. Try reinstalling the program to fix this problem.

我必须做出错误的命令线路呼叫。有人可以帮忙吗?

编辑我将从C#应用程序调用这个,创建一个Process对象然后执行。有没有一种方法可以确保所有变量都已设置,从C#应用程序/从C#代码执行另一个.bat脚本?

+1

检查您的机器。确保mspdb100.dll位于您的环境PATH上。 – StarPilot

回答

4

在编译器安装中,找到名为vsvars32.bat的批处理文件。运行。问题解决了。 (对不起,关于究竟没有详细说明它位于哪里;我不是在我的Windows机器现在)

+0

C:\ Program Files文件(x86)\ Microsoft Visual Studio 10.0 \ Common7 \ Tools – mezamorphic

+0

尽管... – mezamorphic

+0

仍然没有工作@mezamorphic你在你正在使用的cmd中运行它,还是你只是双击它? –

3

这不是命令行,但是当您启动MSVS时,它还会将一些环境变量和路径设置为它需要的二进制文件。

从MSVS启动组启动命令提示符 - 应该已经设置了正确的路径。

+0

-1;编辑PATH是一个危险的路线,实际上有几个'dll's必须被添加来从命令行编译。我不确定你的意思是“MSVS启动组”,但如果你的意思是使用特定于MSVS的命令提示符,那就更好了。 –

+0

@KyleStrand正确。 –

+0

好吧,考虑到这也是我推荐的解决方案,我将删除downvote。 –

1

您可以使用运行vsvars32.bat(在你使用编译命令提示符)的皮特·贝克尔的解决方案,或您可以使用MSVS命令提示符,该提示符具有预先设置的所有变量。