我已经安装了Visual Studio C ++ Express 2012,并希望将它的编译器与Code :: Blocks一起使用。在我运行cl.exe
之前,启动vcvars32.bat
不起作用(缺少 mspdb100.dll ),但这仅对命令行中的当前会话保持不变。这同样适用于使用Code :: Blocks进行编译。
如何在编译之前让它运行vcvars32.bat
?
答案 0 :(得分:1)
这种解决方法实际上不是我想要的,但它有效,这很重要。我没有让 Code :: Blocks 直接运行cl.exe
,而是在运行实际编译器之前设置了一个运行vcvars32.bat
的简单批处理脚本。
REM File: cl.bat
call vcvars32.bat
call cl.exe %1 %*
答案 1 :(得分:0)
在项目属性中,您有一个Build events
部分。您可以将vcvars32.bat
添加到预构建事件。
答案 2 :(得分:0)
要在编码代码块(16.01)之前运行.bat,请转到项目构建选项及其“前/后构建步骤”选项卡下的项目构建选项。此选项卡仅出现在项目设置中,而不是编译器设置中。
但是,将“vcvars32.bat”(或“vcvars64.bat”)添加到预构建步骤并没有为我修复错误。
我找到了库所在的目录,并将其添加到链接器搜索目录中。这给出了进一步缺少库的错误。我在链接器设置中添加了以下路径。这几乎肯定会对你不同。我安装了MSVS 2017社区版。由于某些只有Microsoft知道的原因,必要的库安装在两个不同的驱动器上。
C:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ Community \ VC \ Tools \ MSVC \ 14.12.25827 \ lib C:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ Community \ VC \ Tools \ MSVC \ 14.12.25827 \ lib \ x64 D:\ Program Files(x86)\ Windows Kits \ 10 \ Lib \ 10.0.16299.0 \ um \ x64 D:\ Program Files(x86)\ Windows Kits \ 10 \ Lib \ 10.0.16299.0 \ ucrt \ x64
请注意,如果手动添加这些路径,则不再需要.bat脚本。