Eclipse 中用于 C++ 的 Visual Studio 工具链

Dan*_*Dan 5 c++ eclipse eclipse-plugin toolchain

我为 Java 安装了 Eclipse Neon.2,但是,我正在处理一个涉及 JNI 的项目,所以我不得不为 C++ 设置 Eclipse。要做到这一点,我下载了Development Tools for C++Help -> Install New Software。我的问题是没有toolchains可用于我的 C++ 项目。

一些网站和 YouTube 视频表明有一个 Microsoft Visual C++ 工具链可用,例如这个SO 问题和这个视频,但我没有成功。

是否有我可能错过的设置阶段或插件导致它未列出?

设置
Windows 10
Eclipse Neon.2
Microsoft Visual Studio Enterprise 2017 RC

Dav*_*d R 7

使用 MSVC 使 Eclipse 构建“Hello World”的步骤:

  1. 安装 Visual Studio(应该适用于 VS 2017、VS 2019 甚至更早版本)。
  2. 为 C/C++ 开发人员安装 Eclipse IDE。
  3. 在 Eclipse 中,转到“帮助/安装新软件...”。在“使用...”下,选择 CDT 软件更新站点。
  4. 在“CDT 可选功能”下,选择“C/C++ Visual C++ 支持”。安装它并重新启动 Eclipse,然后关闭 Eclipse。
  5. 从 Windows 搜索/运行栏中,启动“VS 2019 的开发人员命令提示符”(或更早版本)。您现在应该有一个命令窗口和提示。
  6. 运行“set”,并观察到存在大量 VS 特定的环境变量。
  7. 输入 Eclipse 的完整程序路径(例如C:\Users\drodgers\eclipse\cpp-2019-12\eclipse\eclipse.exe),然后按 Enter。您现在再次运行 Eclipse,但所有 VS 环境变量都存在。
  8. 创建一个新的 C++ 托管构建项目。输入项目名称,选择“Hello World C++ Project”,工具链选择Microsoft Visual C++。完成创建项目。
  9. 在主源文件中,您应该#include <iostream>std,下看到橙色波浪线和红色波浪线coutendl因为 Eclipse 不知道在哪里可以找到所有包含文件。让我们解决这个问题。
  10. 在项目资源管理器中,右键单击项目名称,选择“属性”,然后选择“C/C++ 常规/路径和符号”。在“包含”选项卡中,选择“添加...”,您将看到“添加目录路径”对话框。单击“变量...”,稍等片刻,然后选择“VCToolsInstallDir”,它将填充${VCToolsInstallDir}对话框(或直接键入)。然后追加/include以使其读取${VCToolsInstallDir}/include. (反斜杠也有效……但见下文。)选中“添加到所有配置”和“添加到所有语言”框。您的对话框应如下所示:

设置 VC 包含文件的包含路径

  1. 单击确定,然后单击应用并关闭。如果系统提示您重建索引,请选择 Yes。包含的橙色波浪线应该消失,一旦重建索引,红色波浪线也应该消失(如有必要,请手动重建索引 - 右键单击​​项目,选择“索引/重建”。
  2. 右键单击您的项目,然后选择“构建”。它现在应该成功构建。,如下所示:
21:12:43 **** Rebuild of configuration Debug for project wibble ****
Info: Internal Builder is used for build
cl /c /EHs /MD /Zi "/IC:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Tools\\MSVC\\14.24.28314\\\\include" /nologo "/Fosource\\wibble.obj" "..\\source\\wibble.cpp" 
wibble.cpp
link /debug /nologo /OUT:wibble.exe "source\\wibble.obj"

21:12:44 Build Finished. 0 errors, 0 warnings. (took 1s.594ms)
Run Code Online (Sandbox Code Playgroud)
  1. 通过浏览到项目位置、进入“调试”目录、启动命令提示符并运行那里的 EXE,验证您是否可以运行新的可执行文件。您应该会在控制台窗口中看到“Hello World”。
  2. 为了进一步简化您的启动过程,在您的用户目录(例如C:\Users\drodgers\batch)下创建一个子目录,创建eclipse.bat包含到 Eclipse 的完整路径,然后编辑您的环境变量以将新目录添加到您的用户变量的“路径”设置中。现在,当您运行 Dev Command Prompt 时,您只需键入eclipse即可启动 Eclipse。

(免责声明:我不能完全相信这个答案,因为我在这里找到了它的胆量。但我找不到提供此解决方案的 SO 帖子,所以我自己发布了。)

编辑:玩得更多一些,需要添加一些生活质量的东西。无论出于何种原因,MSctype.h的主包含目录中都没有包含或许多其他“标准”标题,因此诸如此类的项目isxdigit()将被标记为红色Function isxdigit() could not be resolved。要解决此问题:

  1. 正如对此问题的已接受答案评论中所述,对于 VS 2017 或 2019,您应该使用 VS 安装程序应用程序安装“Windows Universal CRT SDK”组件。
  2. 关闭 Eclipse,重新启动 VS 2019 Developer Command Prompt,然后重新启动 Eclipse。
  3. 在您的 Eclipse C++ 项目中,在“路径和符号”下,指定以下两个目录:${VCToolsInstallDir}/include${WindowsSdkDir}/Include/${UCRTVersion}/ucrt. 注意我使用了正斜杠;它们在 Windows 系统上与 Eclipse 一起工作得很好。如果我在第二条路径中使用反斜杠,Eclipse 将开始调用替换转义,并且您将无法获得正确的路径,所以不要这样做。

现在,您的编辑器中不应有任何未解析的符号(至少对于标准 C/C++ 内容)。


tom*_*bee 1

好吧,我认为您应该安装 Windows SDK 7、8 或 Visual C++ 2015 Build Tools。

我用 eclipse neon 测试了 windows SDK 7。您可以在此处找到快速安装指南。

但我不知道 Visual C++ 2015 Build Tools 会发生什么。这个工具在我的博客中介绍过- 即使是用韩语编写的,但充满了图像。

然后,你可以找到我的另一个答案

最后,与您所做的事情相比,您有两个检查点。

其一是

在此输入图像描述

另一种是花药

在此输入图像描述