gpt4 book ai didi

c++ - 用于编译和运行 C++ 的 bash 脚本

转载 作者:太空狗 更新时间:2023-10-29 19:48:47 26 4
gpt4 key购买 nike

我正在尝试使用 C++,但不得不通过命令行使用冗长的命令来运行它很烦人,所以我想制作一个 bash 脚本来简化过程并运行这些命令

#!/bin/bash
if [ "$1" == "start" ]; then
cd CCPP
cd HelloWorld
g++ -Wall -W -Werror main.cpp -o HelloWorldCPP
./HelloWorldCPP

但我以前从未使用过 bash 并从其他人的代码中破解它。它不起作用,但我不知道为什么,因为我了解的不够多。

最佳答案

你在最后缺少 fi,但你也可以像这样编写一个 GNU Makefile:

CXX=g++
CXXFLAGS=-Wall
OBJS=main.o
EXECUTABLE=main

all: $(EXECUTABLE)

$(EXECUTABLE): $(OBJS)
$(CXX) $(CXXFLAGS) $(OBJS) -o $@


clean:
rm -f $(EXECUTABLE)
rm -f $(OBJS)

main.o: main.cpp

请注意,这是一个灵活的示例,您可以进一步简化它。在这里你可以找到一个非常好的教程来阅读:

http://mrbook.org/tutorials/make/

但是,我强烈建议学习 cmake,因为手动编写 Makefile 很痛苦。

CMakeLists.txt 文件可能是这样的:

add_executable(main main.cpp)

然后简单地:

mkdir -p build && cd build && cmake ../ && make VERBOSE=1

然后您将以跨平台的方式完成,因为 GNU Makefile 仅适用于 Unice。您需要针对 Windows 等进行调整才能使其正常工作。 cmake 几乎可以在任何需要的地方免费使用,并且它对 native 构建、交叉编译有适当的支持。

这个论坛还有一个cmake tag,身边有好几个人帮你。

关于c++ - 用于编译和运行 C++ 的 bash 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18419973/

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