Я ищу способ передачи полных папок команд c ++ в g ++, чтобы мне не приходилось вводить 25 имен файлов в команду g++
.
Я использую Powershell и подумал, что могу каким-то образом использовать конвейер с Get-childItem -Name -Path *.cpp
.Таким образом, вся папка может быть скомпилирована за один раз, и у меня не будет шанса пропустить файл или неправильно указать имя файла, и она будет достаточно модульной, чтобы я мог просто использовать Set-Location folderpath
перед вставкой, и не нужно было бы каждый раз писать новый make-файл.Я делаю связанную программу со средним и большим количеством связанных файлов.
Это возможно / практично, или я должен придерживаться make-файла?
Например:
У меня есть элеватор, заимствованный из как программировать книга, которая имеет 12 заголовочных файлов, 12 классов, сохраненных в отдельных файлах cpp, и 1 основное исполнение cpp в C:\Users\Noah\Desktop\ripsfromthebook\ch09\elevator
.
давайте предположим, что все необходимое для работы программы присутствует, и если вы набрали в каждом из нихИмя файла cpp в команде g ++ правильно скомпилирует в рабочий файл a.exe.
Они называются:
bell.cpp
bell.h
building.cpp
building.h
button.cpp
button.h
clock.cpp
clock.h
door.cpp
door.h
elevator.cpp
elevator.h
elevatorButton.cpp
elevatorButton.h
ElevatorSimulation.cpp
floor.cpp
floor.h
floorButton.cpp
floorButton.h
light.cpp
light.h
person.cpp
person.h
scheduler.cpp
scheduler.h
Было бы здорово, если бы я мог использовать что-то похожее на Get-ChildItem -Name -Path *.cpp | g++ -g
чтобы все 13 ~.cpp
имен файлов использовались в качестве входных данных вместо того, чтобы записывать этого монстра {см. ниже} в команды powershell.
Или используя массив строк для сохранения вывода childItem, выполните g ++
$x = Get-ChildItem -name -path *.cpp
g++ -g $x -o main
лучше, чем этот монстр.
g++ -g bell.cpp building.cpp button.cpp clock.cpp door.cpp elevator.cpp elevatorButton.cpp ElevatorSimulation.cpp floor.cpp floorButton.cpp light.cpp person.cpp scheduler.cpp
краткосрочное решение Я копирую / вставляю вывод Get-ChildItem
в мой make-файл.