【问题标题】:Unable to build Allegro program with Sublime Text 2无法使用 Sublime Text 2 构建 Allegro 程序
【发布时间】:2012-11-03 18:48:08
【问题描述】:

尝试使用 Sublime Text 2 和 SublimeClang 编译和运行一个简单的 Allegro 程序。如果我在命令行上运行g++ '/path/to/project/main.cpp' -o '/path/to/project/main' -I/usr/include/allegro5 -L/usr/lib -lallegro,它编译得很好。

C++.sublime-build 的内容

{
    "cmd": ["g++", "${file}", "-o", "${file_path}/${file_base_name}"],
    "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
    "working_dir": "${file_path}",
    "selector": "source.c, source.c++",

    "variants":
    [
        {
            "name": "Run",
            "cmd": ["bash", "-c", "g++ '${file}' -o '${file_path}/${file_base_name}' $(pkg-config --libs allegro-5.0)"]
        }
    ]
}

运行失败,Sublime Console 的输出为:

Running bash -c g++ '/path/to/project/main.cpp' -o '/path/to/project/main' && '/path/to/project/main' -I/usr/include/allegro5 -L/usr/lib -lallegro

似乎 Sublime 正在添加 && '/path/to/project/main',即使构建设置没有指定这样做。是什么导致 Sublime 添加这个&& '/path/to/project/main'?以及如何删除它?

从大局来看 - 这意味着 Allegro 将在所有 C++ 项目中链接,即使这些库没有被使用。有没有办法在我的系统上全局添加 Allegro 标志?抱歉,通常不是 C++ 开发人员。

【问题讨论】:

    标签: c++ sublimetext2 allegro5


    【解决方案1】:

    我解决了自己的问题。我使用了反引号而不是 $() 表示法:

    "cmd": ["bash", "-c", "g++ '${file}' -o '${file_path}/${file_base_name}' `pkg-config --libs allegro-5.0` && ./${file_base_name}"]
    

    请注意,我还添加了 && ./${file_base_name} - 它也运行程序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多