Visual Studio Eclipse for C++ 中的工具链

Visual Studio toolchain in Eclipse for C++

我为 Java 安装了 Eclipse Neon.2,但是,我正在处理一个涉及 JNI 的项目,因此我必须为 C++ 设置 Eclipse。为此,我在 Help -> Install New Software 下下载了 Development Tools for C++。我的问题是没有可用的 toolchains 可用于我的 C++ 项目。

几个网站和 YouTube 视频都建议可以使用 Microsoft Visual C++ 工具链,例如这个 SO question and this video,但我没有成功。

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

设置
Windows10
Eclipse 霓虹灯.2
微软 Visual Studio 企业版 2017 RC

嗯,我认为你应该安装 windows SDK 7、8 或 Visual C++ 2015 Build Tools。

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

但我不知道 Visual C++ 2015 构建工具会发生什么。 此工具在 my blog 中引入 - 甚至是用韩语编写的,但带有完整的图像。

然后,你可以找到我的another answer

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

一个是

另一个是

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

  1. 安装 Visual Studio(应该适用于 VS 2017、VS 2019 或更早版本)。
  2. 为 C/C++ 开发人员安装 Eclipse IDE。
  3. 在 Eclipse 中,转到 "Help / Install new software..."。在 "Work with..."、select 下 CDT 软件更新站点。
  4. 在 "CDT Optional Features"、select "C/C++ Visual C++ Support" 下。安装它并重新启动 Eclipse,然后关闭 Eclipse。
  5. 从Windowssearch/run栏开始"Developer Command Prompt for VS 2019"(或更早的版本)。您现在应该有一个命令 window 和提示符。
  6. 运行 "set",并观察到存在大量 VS-specific 环境变量。
  7. 输入 Eclipse 的完整程序路径(例如 C:\Users\drodgers\eclipse\cpp-2019-12\eclipse\eclipse.exe),然后按 Enter。您现在再次 运行ning Eclipse,但所有 VS 环境变量都存在。
  8. 创建一个新的 C++ Managed Build 项目。输入项目名称 select "Hello World C++ Project" 和 select Microsoft Visual C++ 作为工具链。完成创建项目。
  9. 在主源文件中,您应该在 #include <iostream> 下看到橙色波浪线,在 stdcoutendl 下看到红色波浪线,因为 Eclipse 没有知道在哪里可以找到所有包含文件。让我们解决这个问题。
  10. 在 Project Explorer 中,right-click 项目名称,select "Properties",然后 select "C/C++ General / Paths and Symbols"。使用 "Includes" 选项卡,select "Add...",您将看到一个 "Add directory path" 对话框。单击 "Variables...",稍等片刻,然后单击 select "VCToolsInstallDir",这将在对话框中填充 ${VCToolsInstallDir}(或直接键入)。然后附加 /include,使其显示为 ${VCToolsInstallDir}/include。 (反斜杠也有效......但见下文。)选中 "Add to all configurations" 和 "Add to all languages" 框。您的对话框应如下所示:

  1. 单击“确定”,然后单击“应用并关闭”。如果系统提示您重建索引,请选择是。 include 的橙色波浪线应该消失,重建索引后,红色波浪线也应该消失(必要时手动重建索引 - right-click 项目,select "Index / Rebuild".
  2. Right-click 你的项目,select "Build"。现在应该可以成功构建了。像这样:
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)
  1. 通过浏览到您的项目位置、进入 "Debug" 目录、启动命令提示符以及 运行 那里的 EXE 来验证您是否可以 运行 您的新可执行文件.你应该看到 "Hello World" 出现在你的控制台 window.
  2. 为了进一步简化您的启动过程,在您的用户目录下创建一个子目录(例如 C:\Users\drodgers\batch),创建包含 Eclipse 完整路径的 eclipse.bat,然后编辑您的环境变量以添加用户变量的 "Path" 设置的新目录。现在,当您 运行 Dev 命令提示符时,您只需键入 eclipse 即可启动 Eclipse。

(免责声明:我不能完全相信这个答案,因为我找到了它的核心 here。但是我找不到提供这个解决方案的 SO post,所以我 post 自己做。)

编辑:玩得有点多了,还有一些生活质量方面的东西需要添加。无论出于何种原因,MS 在其主包含目录中不包含 ctype.h 或其他一些 "standard" headers,因此 isxdigit() 之类的项目将被标记为红色 Function isxdigit() could not be resolved。要解决此问题:

  1. comment to the accepted answer for this question 中所述,对于 VS 2017 或 2019,您应该使用 VS Installer 应用安装 "Windows Universal CRT SDK" 组件。
  2. 关闭 Eclipse,重新启动 VS 2019 开发人员命令提示符,然后重新启动 Eclipse。
  3. 在您的 Eclipse C++ 项目中,在 "Paths and Symbols" 下指定这两个目录:${VCToolsInstallDir}/include${WindowsSdkDir}/Include/${UCRTVersion}/ucrt。注意我使用了正斜杠;它们在 Windows 系统上与 Eclipse 一起工作良好。如果我在第二条路径中使用反斜杠,Eclipse 将开始调用替换转义,您将无法获得正确的路径,所以不要那样做。

现在你的编辑器中不应该有任何未解析的符号(至少对于标准 C/C++ 东西)。