我尝试使用 Visual Studio Express 2010 C++ 编译器而不使用 IDE。我在C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC中找到了cl.exe。然而我有一些困难。首先,当我输入 cl 时,它弹出警告“程序无法启动,因为您的计算机中缺少 mspdb100.dll。”
所以我将 C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE 添加到系统路径,然后重试,但这一次:
致命错误 C1510:无法加载语言资源 clui.dll。
知道如何解决这个问题以便我可以编译吗?另外,我将如何设置路径,以便我可以从不包含 cl.exe 的解决方案文件夹中键入“cl main.cpp”等。目前我必须位于 bin 文件夹内。谢谢。
尝试从
启动 Visual Studio 命令提示符Start->
All Programs ->
Microsoft Visual Studio 2010 ->
Visual Studio Tools ->
Visual Studio Command Prompt 2010
或者,您可以通过在命令提示符中运行以下命令来设置环境:
"c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" x86
(注意:这将在运行后保留您的环境设置。)
(注2:根据需要更改
x86
。选项有x86
、ia64
、amd64
、x86_amd64
、x86_ia64
)
从那里你可以运行
cl.exe
。如果您希望每次运行 cl
时自动完成和撤消此操作,请创建一个包含以下内容的批处理文件:
@echo off
%comspec% /c ""c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" x86 && cl.exe %*"
(
/c
告诉命令提示符在运行此命令后结束会话,以便您的环境恢复正常。)
从那里,将其命名为
cl.bat
。将其放在某个文件夹中,并将该文件夹的路径添加到您的 PATH
环境变量中,确保它位于 cl.exe
的路径之前,以便每当您键入
cl.bat
时都会执行此
cl
而不是
cl.exe
我建议您将 cl.bat
放入
system32/
文件夹中,默认安装时它应该位于
cl.exe
的路径之前。或者,您可以按任意顺序添加它,并始终键入
cl.bat
,或将其命名为其他名称,以免混淆。
vcvarsall.bat
即可:
"c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" x86
之后,如果您可以避免很多头痛,请使用
devenv.exe
来构建您的东西:
devenv solutionfile.sln /build [ solutionconfig ] [ /project projectnameorfile [ /projectconfig name ] ]
还有很多其他命令行开关,您可以使用
devenv /?
进行检查。
您可以使用x64工具架构Visual studio工具。
msbuild myproject.vcxproj /p:PreferredToolArchitecture=x64
或者,更好的是,将其添加到 .vcxproj 中的项目设置中。
要指定编译器和工具的 64 位版本,请将以下属性组元素添加到 Myproject.vcxproj 项目文件中的 Microsoft.Cpp.default.props 元素之后:
<PropertyGroup>
<PreferredToolArchitecture>x64</PreferredToolArchitecture>
</PropertyGroup>
这些选项将使 Visual studio 使用 amd64 架构文件夹下的工具(根据目标架构):
md64 中的 VC
md64_x86 中的 VC
md64_arm 中的 VC