Zum Inhalt

Kompilierung

Alle Module kompilieren

for dir in src/*/; do
    if [ -f "${dir}makefile" ]; then
        (cd "$dir" && make clean && make)
    fi
done

Einzelnes Modul kompilieren

cd src/worldqual
make clean && make

Jedes Modul enthält ein eigenes makefile. Die kompilierbaren Module:

Modul Verzeichnis Ausgabe
worldqual src/worldqual/ worldqual (Hauptprogramm)
wq_load src/wq_load/ wq_load
wq_stat src/wq_stat/ wq_stat
wq_stat_scen src/wq_stat_scen/ wq_stat_scen
water_temperature src/water_temperature/ water_temperature
find_river_cells src/find_river_cells/ find_river_cells
MapRiverQuality src/MapRiverQuality/ mapRiverQuality
copy_run src/copy_run/ copy_run
copy_scen src/copy_scen/ copy_scen
fill_worldqual_load src/fill_worldqual_load/ fill_worldqual_load
rtf_input_corr_factor src/rtf_input_corr_factor/ rtf_input_corr_factor
---

Gemeinsame Bibliotheken

Einige Module nutzen gemeinsame Quellcode-Dateien:

  • src/general_function/ – Allgemeine Hilfsfunktionen (Länder-Klasse, Zeitstrings)
  • src/options/ – Basis-Optionsklasse zum Einlesen von OPTIONS.DAT
  • src/newton/ – Newton-Verfahren und Länderinformationen

Diese werden von den jeweiligen Makefiles automatisch eingebunden.


Fehlerbehebung

MySQL-Header nicht gefunden

# macOS (Homebrew)
ls /opt/homebrew/include/mysql++/mysql++.h

# Linux
ls /usr/include/mysql++/mysql++.h

Falls die Header fehlen, MySQL++ installieren (siehe Voraussetzungen).

Linker-Fehler (undefined reference)

Sicherstellen, dass MySQL++-Bibliothek korrekt verlinkt ist. Die Include- und Library-Pfade in den Makefiles müssen ggf. an das System angepasst werden.

Nächster Schritt: Modellausführung — Simulationen durchführen.