有效地将SublimeText与SublimeClang用于CMake / C项目
发布时间:2020-12-16 05:29:22 所属栏目:百科 来源:网络整理
导读:我一直在试图用SublimeText2玩一段时间.虽然在 Python中很容易使用 Python,但是使用C更加棘手.我可以通过复制和修改现有的Makefile脚本来设置一个CMake构建脚本,但是有许多事情在CMake支持的IDE(如Eclipse CDT)中不起作用. SublimeText 2似乎不了解一个单独
我一直在试图用SublimeText2玩一段时间.虽然在
Python中很容易使用
Python,但是使用C更加棘手.我可以通过复制和修改现有的Makefile脚本来设置一个CMake构建脚本,但是有许多事情在CMake支持的IDE(如Eclipse CDT)中不起作用. SublimeText 2似乎不了解一个单独的构建目录的概念,它也不能让我通过SublimeClang自动完成,如果我包括参考在CMake中添加的目录的库. SublimeClang不断抱怨说找不到库,当我尝试#include时,甚至不能在标准的STL头文件名(例如算法)上给我自动完成.如果有人想出了一条管道,我将不得不听到.
我以前在更通用的使用相关论坛中提出了这个问题,在那里我没有得到任何回应,这就是为什么我想把它发布在这里. 解决方法
我使用Sublime Text 2与CMake和SublimeClang.我也使用SublimeGDB.我的构建目录在[项目根目录] / build下.看看我的项目文件,看看它是否可以帮助你:
{ "folders": [ { "path": "." } ],"build_systems": [ { "name": "Build","cmd": [ "make","-C","build" ],"file_regex": "/([^/:]+):(d+):(d+): " } ],"settings": { "sublimegdb_commandline": "gdb --interpreter=mi myapp","sublimegdb_workingdir": "build","sublimeclang_options" : [ "-Wno-reorder" ],"sublimeclang_options_script": "${project_path:scripts/compileflags.rb} ${project_path:build}" } } compileflags.rbscript用于在CMake构建树中搜索flags.make文件,CMake保留其编译标志.这些标志是必需的,所以SublimeClang知道在哪里找到你的包括. 这是脚本,位于脚本/: #!/usr/bin/env ruby # Searches for a flags.make in a CMake build tree and prints the compile flags. def search_dir(dir,&block) Dir.foreach(dir) do |filename| next if (filename == ".") || (filename == "..") path ="#{dir}/#{filename}" if File.directory?(path) search_dir(path,&block) else search_file(path,&block) end end end def search_file(filename) return if File.basename(filename) != "flags.make" File.open(filename) do |io| io.read.scan(/[a-zA-Z]+_(?:FLAGS|DEFINES)s*=s*(.*)$/) do |match| yield(match.first.split(/s+/)) end end end root = ARGV.empty? ? Dir.pwd : ARGV[0] params = to_enum(:search_dir,root).reduce { |a,b| a | b } puts params (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |