2016-09-23 41 views
6

我已經安裝了Eclipse Neon(v4.6)。此外,我有「在Windows上的Ubuntu的Bash」(9月'16)。我安裝了gcc和gdb進行編譯和調試。我在終端上測試了它們,它們正在運行。Eclipse上的Windows上的Bash上的Eclipse C/C++項目

我試圖使用Eclipse創建一個新的C項目,但在編譯器中選擇階段它不給我用「在Ubuntu擊在Windows」編譯器選項。

有什麼辦法來解決我的問題呢?

回答

1

我們使用Eclipse和一個makefile項目。我配置的Eclipse加入「外部建設者」 - 並使用下面的腳本:

-c "cd `echo '${project_loc}' | sed -e 's/C:/\/mnt\/c/g' -e 's/\\\\/\//g'` && make -f path_to_makefile/makefile 

的「cd」和sed策略是從Eclipse的轉換「C:\」到Windows子系統的Linux「/mnt/c/」和「\」與「/

製作目前在項目所在地由${project_loc}

定義執行我還沒有想出如何在Linux上執行GDB更換。但至少編譯+鏈接(並執行我的makefile中定義的單元測試)現在正在利用原生Ubuntu工具鏈的全速...

+0

您可以通過ssh在慶典在Ubuntu連接的窗口上,如Visual Studio做的。據我所知,Eclipse提供了編譯/調試遠程項目的工具。 ) –

5

由於Bash/WSL相當新穎,並且能夠從外部Bash正確調用Linux命令(使用bash.exe -c ...)尚未被許多開發工具很好地理解,但您可能需要做一些工作來定義自定義任務/動作來調用您想要調用的必要bash.exe -c "gcc ..."命令。

但是,您應該完全可以將一個makefile(或者甚至更好的CMake文件)作爲可以將路徑切換到lib/include/tools/etc的write/configure。基於環境,然後在Windows或Linux上順利構建。

這種非常情況已經引發了一個很酷的博客文章的想法,我會工作併發布到our bloghttps://blogs.msdn.microsoft.com/commandline在接下來的兩個星期:)

HTH。

3

我認爲在C/C++中使用wsl進行編程的最佳方法就像微軟那樣。 Visual Studio使用ssh連接到「C++ for Linux Development」的Linux環境。 因此,在我們的例子中,我們可以在wsl上設置openssh服務器,從IDE連接到localhost並啓動遠程項目。

2017年5月

+0

克利翁現在支持WSL工具鏈在2018.1 EAP: https://blog.jetbrains.com/clion/2018/01/clion-and-linux-toolchain-on-windows-are-now-friends/ – sneg