2016-03-15 92 views
1

我在Ubuntu中使用Sublime Text並學習OpenCV。直到今天,我還使用Sublime Text來編寫和保存代碼,並使用Terminal進行編譯。在cmake中使用崇高文本(構建系統)

我用下面的代碼編譯:

cmake . 
make 
./a.out 

但對於快速處理,我試圖讓我的編譯系統,我想使這一切自動按Ctrl + B

我已經在自定義構建系統中嘗試了以下代碼,但失敗:

{ 
    "cmd": ["cmake ."], 
    "cmd": ["make"], 
    "cmd": ["./a.o"], 
    "selector": "source.c++", 
    "shell": true, 

    "windows": 
    { 
     "cmd": ["cl", "/Fo${file_path}", "/O2", "$file"], 
     "selector": "source.c++", 
     "shell": true 
    } 
} 

任何想法?謝謝。

回答

4

您的編譯系統中只能有一個"cmd"密鑰。請閱讀the docs瞭解更多信息。相反,你可以使用&&操作串連你的命令:

{ 
    "cmd": ["cmake .", "&&", "make", "&&", "./a.out"], 
    "selector": "source.c++", 
    "shell": true, 
} 

既然你是在Linux上,你不需要Windows的東西都沒有。

+0

它的工作原理不帶引號非常好做,我不知道它是否適合subime文本3,謝謝你(「CMD」:「cmake的。&& make && ./a.out「]) –

0

感謝MattDMo,我建立了一個構建系統可以正常工作,那就是:

{ 
    "cmd": ["cp /home/as/Documents/c++/opencv/CMakeLists.txt ${file_path} && cmake . && make && ./project"], "working_dir": "${file_path}", 
    "selector": "source.c++", 
    "shell": true 
} 

它複製的CMakeLists.txt(這是一個默認CMakeList.txt我已經準備很滿意,每個項目)到當前項目目錄並運行項目。

此外,包含的CMakeLists.txt下列文字:

cmake_minimum_required(VERSION 2.8) 
project(project) 
find_package(OpenCV REQUIRED) 
add_executable(project main.cpp) 
target_link_libraries(project ${OpenCV_LIBS}) 

我希望將運行所有的OpenCV的項目!

3

您可以使用cmake創建一個崇高的項目。只需執行

cmake -G "Sublime Text 2 - Unix Makefiles" . 

,因爲我沒有安裝它

+0

它也適用於Sublime Text 3。謝謝!現在,如何使用Sublime進行調試;-)? –

+0

看看sublime gdb,它很簡單,效果很棒:https://github.com/quarnster/SublimeGDB –