在Windows上的Ubuntu上的Bash上的Eclipse C/C++项目

Xen*_*ios 8 c eclipse gcc gdb windows-subsystem-for-linux

我安装了Eclipse Neon(v4.6).此外,我有"在Windows上使用Ubuntu进行Bash"(2016年9月).我安装了gcc和gdb用于在C中进行编译和调试.我在终端上测试了它们并且它们正在运行.

我正在尝试使用Eclipse来创建一个新的C项目,但是在编译器选择阶段,它并没有让我选择使用"Windows上的Bash on Ubuntu"编译器.

有什么方法可以解决我的问题吗?

Ric*_*ner 5

因为Bash/WSL非常新,并且从bash.exe -c ...许多开发工具(尚未)很好地理解从外部Bash(使用)正确调用Linux命令的能力,您可能需要做一些工作来定义自定义任务/操作以调用必要的bash.exe -c "gcc ..."要调用的命令.

但是,您绝对应该能够编写/配置一个makefile(或者甚至更好的CMake文件),它可以将路径切换到lib/include/tools/etc. 基于环境,然后在Windows或Linux上顺利构建.

这个场景引发了一个很酷的博客文章的想法,我将在下一周或两周内工作并发布到我们的博客 https://blogs.msdn.microsoft.com/commandline :)

HTH.


esp*_*alb 3

我们使用 Eclipse 和 makefile 项目。我通过添加“外部构建器”来配置 Eclipse - 并使用以下脚本:

-c "cd `echo '${project_loc}' | sed  -e 's/C:/\/mnt\/c/g' -e 's/\\\\/\//g'` && make -f path_to_makefile/makefile
Run Code Online (Sandbox Code Playgroud)

cd”和sed技巧是将 Eclipse“C:\”转换为 Windows Subsystem for Linux“ ”,并将“ ”/mnt/c/替换为“ ”\/

现在,Make 在定义的项目位置中执行${project_loc}

我还没弄清楚如何在Linux上执行gdb。但至少编译+链接(并执行我的 makefile 中定义的单元测试)现在正在充分利用本机 Ubuntu 工具链的全速......