1

我有一个程序,它使用他们调用wmake的代码来构建代码,非常方便。假设我有一个文件夹和一个 C++ 文件:/path/to/file.C,我所要做的就是转到/path/to文件夹,然后键入wmake命令并返回,一切都设置好了。

当我使用 sublimetext 时,我想打开这个file.C文件,然后 ctrl+B 来构建它,但是它不起作用。目前我定制了一个构建系统,如:

{
    "cmd": "wmake"
}

错误显示为

[Errno 2] No such file or directory
[cmd:  wmake]
[dir:  /path/to/file.C]
[path: /home/meee/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/bin]
[Finished]

任何人都知道如何在 sublimetext2 中自定义构建系统?我阅读了在线手册,但仍然没有任何线索。谢谢

我的目标

我想要做的就是获得与我在 shell 窗口中键入一个简单的相同的效果

wmake /path/to

编辑-1

我试过了,它也不起作用,同样的错误。我不明白为什么“没有这样的文件”?

{
    "cmd": "wmake",

    "selector" : "source.C",

    "shell": false,

    "working_dir" : "$file_path",

    "variants":

    [
        {
        "name": "Run",
        "cmd": ["bash", "-c", "wmake '${file_path}'"]
        }
    ]
}

编辑-2

我尝试使用 wmake 的完整路径,并且错误提示environment variable $WM_OPTIONS not set。所以在 shell 中,每次 ~/.bashrc 都会自动加载,并初始化所有的环境变量,但在 Sublime 中却不是这样!!!!!!!!!!!!!!!我应该怎么办???

{
    "cmd": "/fullpath/to/wmake",

    "selector" : "source.C",

    "shell": false,

    "working_dir" : "$file_path",

    "variants":

    [
        {
        "name": "Run",
        "cmd": ["bash", "-c", "/fullpath/to/wmake '${file_path}'"]
        }
    ]
}
4

1 回答 1

0

您的构建命令不完整。查看我定制的 C 版本:

{

  "cmd" : ["/usr/local/gfortran/bin/gcc", "$file_name", "-o", "${file_base_name}", "-lgsl","-lgslcblas", "-lm" , "-Wall"],

  "selector" : "source.c",

  "shell":false,

  "working_dir" : "$file_path",

  "variants":

    [
       {
        "name": "Run",
        "cmd": ["bash", "-c", "/usr/local/gfortran/bin/gcc '${file}' -lgsl -lgslcblas -lm  -Wall -o '${file_path}/${file_base_name}' && '${file_path}/${file_base_name}'"]
       }
    ]

}
于 2013-03-08T17:13:11.830 回答