如何在最新版的VC++编译器中使用CodeBlocks?

5

我需要使用C::B与最新版本的MS VC++编译器一起使用,例如VS2015或VS2017,以及未来的版本,但是C::B没有提供这样的选项。在设置中,C::B允许用户从列表中选择的最新的VC++版本是VC++2010(MSVC++10.0),这个版本已经相当老了。经过一些搜索,我没有找到解决问题的方法。甚至C::B网站也没有提供解决方案。我该怎么办?


这个链接也很有帮助:https://github.com/arnholm/cpde_utils/blob/master/doc/toolchain/CodeBlocks_MSVC_setup.pdf。 - Hosein Rahnama
2个回答

6
在C::B设置和VC++编译器的尝试后,我找到了一个非常简单的解决方案。在本文中,我将展示如何使用最新版本的VC++编译器(MSVC++ 14.0或更高版本)与CodeBlocks一起使用 - 无需安装Visual Studio。如果您更喜欢使用Visual Studio,则该解决方案也是相同的。
我将回答32位和64位项目的问题。默认情况下,它支持std C++14。 内容: A)安装最新版本并为x86项目编译; B)切换到C::B 64位项目。

A)安装并用于32位项目

  1. 安装最新版本的VC++编译器。 可以通过NuGet获取VC++工具集。 要获取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

  2. 安装Microsoft Build Tools 2015(或更高版本)。这里我将使用2015版,但您也可以选择2017版。
    对于2015版,安装程序在此处:BuildTools2015。运行它以安装工具。

  3. 打开C::B并进行配置。C::B针对Microsoft Visual C++的最新版本是2010。我们可以使用它,但需要设置一个更近期的编译器。

    3.1 转到“设置”>>“编译器”

    3.2 在“选择的编译器”中选择MS Visual C++ 2010。这是C::B中可用的最高版本。

    3.3 选择“工具链可执行文件”选项卡,并将编译器目录设置为带有VC++工具集的目录。在我的情况下:
    D:\VisualCppTools.14.0.25114-Pre\lib\native 确认选项卡中的“Program Files”框是否已填充。

    3.3 选择“搜索目录”选项卡。 3.3.1 在“编译器”选项卡中添加包含目录路径。 在我的情况下是:
    D:\VisualCppTools.14.0.25114-Pre\lib\native\include

    可能还需要以下内容(来自生成工具)。
    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) 更改C::B项目设置为x64项目

  1. 将链接库路径指向它们的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

  2. 对于编译器,请选择“工具链可执行文件”选项卡,并插入前缀“amd64\”作为C++编译器和Make程序,如:amd64\cl.exe,amd64\nmake.exe

就是这样了!

干得好!


1

以下是在Windows 7上安装MSVC 2015并编译面向x86目标机器的“普通”C++控制台应用程序(无CLI)时的编译器选项条目:

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

我将INCLUDELIB添加到编译器和链接器的搜索目录中,对于x86控制台应用程序在C::B中一切正常。我没有尝试过x64架构...


在你的列表中,LIB [x86] 是路径。 你具体是在哪里添加它们的? - Sergio
1
@Sergio (1)进入“设置”>>“编译器”。 (2)选择MSVC 2015的条目。 (3)选择“搜索目录”选项卡。 (4)在“链接器”选项卡中添加所有库路径(列在LIB [x86]下)。 - Paweł Kłeczek

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接