Скрипт Bash для компиляции и запуска нескольких серверов и клиентов c

Я пишу клиент-серверное приложение C ++ с многопоточным сервером, который принимает соединения от нескольких клиентов.
Мне нужно написать скрипт bash, который компилирует и выполняет несколько экземпляров как сервера, так и клиента. Клиент и сервер находятся в разных папках.

Я попробовал этот способ, но он не работает, потому что он запускает только сервер:

#!/bin/sh
cd "/home/myhost/ServerSide"g++ -std=c++11 -pthread server_struct.cpp -o server
./server

cd "/home/myhost/ClientSide"g++ -std=c++11 client.cpp -o client1
./client1

cd "/home/myhost/ClientSide"g++ -std=c++11 client.cpp -o client2
./client2

0

Решение

как правило, я бы отделил процесс сборки от запуска ваших приложений.
Более того, я бы предложил использовать make для сборки, а не bash-скрипт.

Makefile (остерегайтесь отступов!):

CXXFLAGS=-std=c++11

VPATH=ServerSide ClientSide

all: client server

server: server_struct.o
$(CXX) -o $@ $^ $(LDFLAGS)
client: client.o
$(CXX) -o $@ $^ $(LDFLAGS)
runall: server client
xterm -e ./server &
xterm -e ./client &
xterm -e ./client &

а потом просто беги make runall

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]