Automatische GNU -Marke mit C ++ 20 ModulC++

Programme in C++. Entwicklerforum
Anonymous
 Automatische GNU -Marke mit C ++ 20 Modul

Post by Anonymous »

In den letzten Wochen habe ich zum ersten Mal mit C ++ 20 -Modulen experimentiert, nachdem ich jahrelang über sie gelesen habe. Ich habe in Visual Studio ausgiebig mit ihnen gearbeitet und habe einen erfolgreichen Test mit CMake (mit NMake als Generator) durchgeführt und hatte nur wenig bis gar kein Problem, das das Projekt eingerichtet habe. Ich habe ein altes Projekt, das ich in die Verwendung von Modulen migrieren möchte, deren aktuelle Gnumakefile so aussieht: < /p>
SOURCE_EXTENSION := cpp
SOURCES := $(shell find $(SOURCE_DIRECTORY) -type f -name *.$(SOURCE_EXTENSION))
OBJECTS := $(patsubst $(SOURCE_DIRECTORY)/%,$(OBJECT_DIRECTORY)/%,$(SOURCES:.$(SOURCE_EXTENSION)=.o))
COMPILATION_FLAGS := -g -Wall

$(TARGET): $(OBJECTS)
@mkdir -p $(BINARY_DIRECTORY)
$(GCC) $^ -o $(BINARY_DIRECTORY)/$(TARGET)

$(OBJECT_DIRECTORY)/%.o: $(SOURCE_DIRECTORY)/%.$(SOURCE_EXTENSION)
@mkdir -p $(dir $@)
$(GCC) $(COMPILATION_FLAGS) $(INCLUDES) -c -o $@ $<
< /code>
Dies ist eine schnelle Möglichkeit, alles in meinem Codeordner zu erstellen, einen Objektordner mit einer Spiegelstruktur zu erstellen und dann alles miteinander zu verknüpfen. Ich habe mich gefragt, ob und wie Sie dasselbe mit Modulen tun konnten, da sie für die Bestellung sehr vernünftig zu sein scheinen, damit ich nicht jedes einzelne Modul auflisten muss und seine Abhängigkeiten manuell verwaltet.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post