我需要将C :: B与最新版本的MS VC ++编译器一起使用,如VS2015或VS2017中的版本,以及最终版本,但C :: B不提供此类选项。 C :: B允许用户在其设置中从列表中选择的最新VC ++版本是VC ++ 2010(MSVC ++ 10.0),它已经很老了。经过一番搜索,我没有找到解决问题的解释。甚至C :: B站点都没有提供解决方案。我怎么能这样做?
答案 0 :(得分:5)
在我使用C :: B设置和VC ++编译器进行了一些尝试之后,我找到了一个并不复杂的解决方案。在这篇文章中,我将展示如何使用最新版本的VC ++编译器(MSVC ++ 14.0或更高版本)与CodeBlocks - 而无需安装Visual Studio。如果您更喜欢使用Visual Studio,解决方案将完全相同 我将回答32位和64位项目的问题。默认情况下,它将支持std C ++ 14。 内容: A)安装最新版本并编译x86项目; B)改为C :: B 64bits项目。
A)安装并使用32位项目
安装最新版本的VC ++编译器。
VC ++工具集可以通过NuGet获得。
要让NuGet看一下:NuGet。
从命令行运行以下命令。该命令安装最新版本(根据MSDN):
c:\\> nuget install VisualCppTools.Community.Daily.VS2017Layout -Version 14.14.26423-Pre -Source https://visualcpp.myget.org/F/dailymsvc/api/v3/index.json
安装Microsoft Build Tools 2015(或更高版本)。在这里,我将坚持2015年,但你可以去2017年 对于2015年,安装程序位于BuildTools2015。运行它来安装工具。
打开C :: B并进行配置。 C :: B Microsoft Visual C ++的最新版本是2010.我们可以使用它,但是可以使用更新的编译器。
3.1转到设置>>编译器
3.2在“Selected Compiler”中选择MS visual C ++ 2010.这是C :: B中提供的更高版本。
3.3选择“Toolchain executables”选项卡,并使用VC ++ Toolset将目录设置为目录。就我而言:
D:\VisualCppTools.14.0.25114-Pre\lib\native
确认选项卡的“Program Files”框是否已填满。
3.3选择“搜索目录”选项卡。
3.3.1在“编译器”选项卡中,添加包含目录路径。
在我的情况是:
D:\VisualCppTools.14.0.25114-Pre\lib\native\include
可能还需要以下内容(来自Build Tools)
C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt
如果还没有在那里,如果需要(在我的情况下)
C:\Program Files (x86)\Windows Kits\8.1\Lib\winv6.3\um
3.3.2在“链接器”选项卡中,输入库的路径。就我而言。
D:\VisualCppTools.14.0.25114-Pre\lib\native\lib
也可是,
C:\Program Files (x86)\Windows Kits\10\Lib\10.0.10240.0\ucrt\x86
如果您的项目抱怨uuid.lib,那么也插入(在我的情况下),
C:\Program Files (x86)\Windows Kits\8.1\Lib\winv6.3\um\x86
3.3.3“资源编译器”选项卡。这是可选的。就我而言,
D:\VisualCppTools.14.0.25114-Pre\lib\native\include
就是这样!但如果我们愿意,C :: B允许我们更改编译器名称。
B)更改x64项目的C :: B项目设置
指向链接库的x64对应路径。在“设置”菜单中,选择“搜索目录”>>“链接器”。
1.1对于编译器库,添加“amd64”。就我而言:
D:\VisualCppTools.14.0.25114-Pre\lib\native\lib\amd64
1.2对于“ucrt”和“um”,在路径中添加“\ x64”。我的案例:
C:\Program Files (x86)\Windows Kits\10\Lib\10.0.10240.0\ucrt\x64
C:\Program Files (x86)\Windows Kits\8.1\Lib\winv6.3\um\x64
对于编译器,选择Tab“Toolchain executables”并为C ++编译器和Make程序插入前缀“amd64 \”,如:amd64 \ cl.exe,amd64 \ nmake.exe
再一次,就是这样!
干得好!
答案 1 :(得分:1)
以下是在为x86目标计算机编译“普通”C ++控制台应用程序(无CLI)时在Windows 7上安装MSVC 2015的编译器选项条目:
INCLUDE=
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\atlmfc\include
C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt
C:\Program Files (x86)\Windows Kits\8.1\Include\um
C:\Program Files (x86)\Windows Kits\8.1\Include\shared
C:\Program Files (x86)\Windows Kits\8.1\Include\winrt
LIB [x86]=
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\atlmfc\lib
C:\Program Files (x86)\Windows Kits\10\lib\10.0.10240.0\ucrt\x86
C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86
C:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\Lib\um\x86
LIBPATH=
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\atlmfc\lib
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib
我分别在搜索目录中添加INCLUDE
和LIB
以查找编译器和链接器,并且在C :: B中为x86控制台应用程序工作。
我没有尝试使用x64架构......