Differentialgleichung (DGL) / Ordinary Differential Equation (ODE)
Wikipedia
Differentialgleichung
Gewöhnliche Differentialgleichung
Lineare gewöhnliche Differentialgleichung
Partielle Ableitung
Differentialgleichung RC-Glied
Nummerisches Lösen von DGL: Ordinary Differential Equation
Textbrowser
- lynx
- w3m
- links
Linker error: “undefined reference”
Schon viele male habe ich beim Linken solch eine Fehlermeldung bekommen:
main.c:(.text+0x4b908): undefined reference to `clock_gettime'
Lösung kann sein, dass alle Object-Dateien VOR den Libraries sein müssen:
$ gcc main.o -lpthread -lr -o main
Subversion Checkout mit IntelliJ
Zuvor habe ich https://rom.zhaw.ch/svn/simulation/ ausgecheckt mit TortoiseSVN und wollte dann mit IntelliJ nur noch updaten/commiten. Hat leider nicht funktioniert, wie auch im Link erklärt:
Problem using TortoiseSVN and IntelliJ 8.1
Musste danach im C:\Users\bachi\Documents\FH\Repository\simulation das .svn Verzechnis löschen und die beiden Module einzeln auschecken.
Hinzufügen von Resourcen in IntelliJ
Mit diesem Code kann man bei Laufzeit Resourcen laden, die im CLASSPATH sind:
URL myurl = this.getClass().getResource("/myimage.gif");
URL url = IconSVG.class.getResource("svg/" + file + ".svg");
Bei IntelliJ werden Sourcen kompiliert und das Kompilat in ein eigenes Verzechnis gespeichert (z.B. C:\Users\bachi\Documents\FH\Repository\simulation\trunk\Simulation\bin). Die Resourcen (alles, was keine Java-Sourcen sind), die sich im Source-Verzechnis befinden, werden kopiert, wenn sie einem Pattern entsprechen:
?*.properties;?*.xml;?*.gif;?*.png;?*.jpeg;?*.jpg;?*.html;?*.dtd;?*.tld;?*.ftl
Da SVG-Dateien nicht dem Pattern entsprechen, werden sie nicht kopiert.
Lösung ist in den Settings->Compiler das Pattern anzupassen:
[...];?*.svg
Rekursives make mit getrenntem Object-Verzeichnis
TOPLEVEL = .
SUBDIRS = \
obj
all : all_sub Aufgabe9
include $(TOPLEVEL)/Makefile.inc
STATIC_LIBRARY = obj/lib.a \
obj/planet/lib.a
Aufgabe9 : $(STATIC_LIBRARY)
$(CC) -o $@ obj/main.o $(STATIC_LIBRARY) $(LDFLAGS)
CC = g++ AR = ar CFLAGS = `sdl-config --cflags` -I/usr/glew/include -I$(TOPLEVEL)/include -D_REENTRANT -Wall -std=gnu++0x LDFLAGS = `sdl-config --libs` -L/usr/glew/lib -lopengl32 -lglu32 -lglew32 -lSDL_ttf OBJECT = $(SOURCES:%.cxx=%.o) # CFLAGS = -IC:\MinGW\msys\1.0\libsdl\include\SDL -D_GNU_SOURCE=1 -Dmain=SDL_main -I$(TOPLEVEL)/include -D_REENTRANT -Wall # LDFLAGS = -LC:\MinGW\msys\1.0\libsdl\lib -lmingw32 -lSDLmain -lSDL -mwindows -lopengl32 -lglu32 -lSDL_ttf all_sub: if test "$(SUBDIRS)" != ""; then \ for subdir in $(SUBDIRS); do \ (cd $$subdir; make all); \ done; \ fi; clean: clean_sub rm -f *.o *.a $(CLEANFILES) clean_sub: if test "$(SUBDIRS)" != ""; then \ for subdir in $(SUBDIRS); do \ (cd $$subdir; make clean); \ done; \ fi; $(LIBRARY): $(OBJECT) $(AR) rcu $(LIBRARY) $(OBJECT) # $(AR) rcs $(LIBRARY) $(OBJECT) %.o: $(TOPLEVEL)/$(CURRENT)/%.cxx $(CC) -c $(CFLAGS) $< .SILENT: all_sub clean_sub
CURRENT = src
TOPLEVEL = ..
LIBRARY = lib.a
SUBDIRS = \
planet
SOURCES = \
main.cxx \
GLSL.cxx \
textfile.cxx \
Vector.cxx \
Matrix.cxx \
Keyboard.cxx \
Settings.cxx \
Game.cxx \
Camera.cxx \
Light.cxx \
Texture.cxx \
TextureFactory.cxx \
World.cxx \
text.cxx \
Debug.cxx \
3ds.cxx \
Ship.cxx \
Shot.cxx \
Billboard.cxx \
Explosion.cxx \
DisplayList.cxx
include $(TOPLEVEL)/Makefile.inc
all: all_sub $(LIBRARY)
CURRENT = src/planet TOPLEVEL = ../.. LIBRARY = lib.a SUBDIRS = SOURCES = \ Planet.cxx \ Ring.cxx \ Sun.cxx \ Earth.cxx \ EarthMoon.cxx \ Jupiter.cxx \ Mars.cxx \ Mercury.cxx \ Neptun.cxx \ Pluto.cxx \ Saturn.cxx \ Saturnring.cxx \ Uranus.cxx \ Venus.cxx include $(TOPLEVEL)/Makefile.inc all: all_sub $(LIBRARY)
Kompiliere SDL, SDL_ttf, freetype und glew mit MingW
SDL-1.2.14.tar.gz SDL_ttf-2.0.11.tar.gz freetype-2.4.8.tar.gz glew-1.7.0.tgz
$ cd SDL-1.2.14 $ ./configure --prefix=/usr/libsdl --enable-stdio-redirect=no $ cd freetype-2.4.8 $ ./configure --prefix=/usr/freetype2 $ cd SDL_ttf-2.0.11 $ ./configure --prefix=/usr/libsdl $ cd glew-1.7.0 $ sed -i 's/GLEW_DEST ?= \/usr/GLEW_DEST ?= \/usr\/glew/g' Makefile $ make install.all
export PATH=$PATH:/usr/libsdl/bin:/usr/freetype2/bin:/usr/glew/bin
Escape a string for sed search pattern
Batch Files .bat an Windows 7 Taskleiste anheften
1. Die anzuheftende Batchdatei von batch.bat nach batch.exe umbenennen.
2. Die Batchdatei nun in die Taskleiste ziehen und anheften.
3. Nun die original Batchdatei wieder umbenennen in batch.bat.
4. Mit gedrückter Shift-Taste mit der rechten Mausstaste auf die Verknüpfung klicken und auf Eigenschaften klicken.
5. Unter Ziel nun den korrekten Pfad zur Batchdatei eingeben. Es reicht aus, aus dem .exe ein .bat zu machen.