我在Ubuntu中使用Sublime Text并学习OpenCV。直到今天,我使用Sublime Text编写并保存代码,并使用Terminal进行编译。
我正在使用以下代码进行编译:
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
}
}
有什么想法吗?感谢。
答案 0 :(得分:5)
您的构建系统中只应有一个"cmd"
密钥。有关更多信息,请阅读the docs。相反,您可以使用&&
运算符连接命令:
{
"cmd": ["cmake .", "&&", "make", "&&", "./a.out"],
"selector": "source.c++",
"shell": true,
}
由于您使用的是Linux,因此根本不需要Windows内容。
答案 1 :(得分:4)
您可以使用cmake创建一个sublime项目。只需执行
cmake -G "Sublime Text 2 - Unix Makefiles" .
我不知道它是否适用于subime text 3,因为我没有安装它
答案 2 :(得分: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项目!