visualgdb windows linux C++ 跨平臺編譯

方案: visual gdb + vs2012 + visaul assist x


windows 轉 linux?平臺,習慣了 ide,vim + gdb + gcc 用起來非常不爽,用過跨平臺的 codeblocks,感覺 linux 要裝好 codeblocks 編譯環境,實在太難了。

visualgdb (VG)無疑是一大利器。用熟悉的 vs 系列。建好工程,配置好 visualgdb project properties 映射,就能工作了。

配置遇到最大的問題,不知道哪個才是 visualgdb 指定的當前目錄,相對路徑就不好設置。VG 配置好后,會在當前目錄生成 makfile 文件,makfile ?文件所在的目錄就是當前目錄。當前目錄改變的文件(可根據后綴名過濾)都會在編譯的時候 windows <---->linux 通過 ssh 同步,所以你的源碼 include 和 src 文件夾最好在 makefile 所在的目錄。

注意:VG 會自動生成 makefile,但是很多同學比較喜歡自己寫 makefile 的,所以 Files to transfer 就要設置要同步的文件類型。避免VG自動生成的 makefile 文件覆蓋遠端的。

VG 配置

跨平臺新建文件問題:

還有一點要注意的,在 windows 平臺新創建的源碼文件,最好是 utf8 編碼的~~ 這是個坑。

visual studio 新建C++文件為 UTF8 文件解決方案

utf8 編碼問題也可以參考我的帖子:跨平臺編碼問題


VA 高亮問題:

VA 能使代碼高亮,但如果單獨的模塊,VA 沒那么智能的,還需要在 Makefile settings 配置依賴源碼的路徑:

工程依賴文件

VG 版本沖突問題:

VisualGDB 5.0 以及其它高版本?會與 visual assist x 沖突,

這個版本不會沖突:VisualGDB-4.2r4.zip (CSDN 下載資源)

官網下的?VisualGDB-5.1r6-trial.msi 也有破解版,安裝后代碼可以選擇 vax 或者 vgdb 渲染,但還是時好時壞。

通過谷歌,找到一個帖子是通過修改 VG 的注冊表信息避免沖突的,但是我自己找不到這個注冊表項。

You can also disable the Clang IntelliSense globally by setting HKCU\Software\Sysprogs\VisualGDB\Settings\CppLanguageServiceSupport to 0.

有網友(進擊的二把刀)反饋下面解決沖突的辦法,小伙伴們可以試一下,本人老版本能用所以暫時不折騰了。謝謝熱心的網友。

可以在工具,選項,VisualGDB選項卡中,設置Enable Clang IntelliSense by default 為false。

另外首次打開工程時,如果沒有VA提醒,可以打開VisualGDB的工程設置,然后點擊目錄的測試“File synchronizetion-----test”就好了。4.2沒有cmake功能,實在不方便,我現在用的是5.0一切正常(VA是當前最新的版本)

VisualGDB 5.02 bata4 的已經不用每次都點“File synchronizetion-----test”了,有一次設置完了后,下次打開都正常。另外還有個地方增加了開關:VisualGDB Project Properties -> Project settings -> IntelliSense Setting。把這里的設置都關掉就完美兼容VA了。


參考過的帖子(轉載)

使用VS+VisualGDB編譯調試Linux程序

http://www.linuxidc.com/Linux/2015-02/112844.htm


更精彩內容,請關注我的博客:https://wenfh2020.com

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容