gpt4 book ai didi

c++ - 无法使用 Sublime Text 2 构建 Allegro 程序

转载 作者:太空宇宙 更新时间:2023-11-04 14:13:04 24 4
gpt4 key购买 nike

尝试使用 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控制台输出为:

运行 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',即使build设置没有指定这样做。是什么导致 Sublime 添加此 && '/path/to/project/main'?我该如何删除它?

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

最佳答案

我解决了我自己的问题。我使用反引号代替 $() 符号:

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

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

关于c++ - 无法使用 Sublime Text 2 构建 Allegro 程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13212336/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com