尝试使用 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++ 开发人员。