Hi!
Ich habe ein kleines Problem momentan bin ich daran opencv 2.4.7
zu installieren. Mittels cmake alles kein Problem. Ich habe aber beim
make (nach cmake Konfiguration) folgende Ausgabe und weiß gerade nicht so ganz, was es auf sich hat, da
mir ein paar Grundlagen fehlen. Hier erstmal der Fehlercode:
Linking CXX shared library ../../lib/libopencv_world.so
c++: error: ../highgui/CMakeFiles/opencv_highgui.dir/__/__/release/modules/highgui/qrc_window_QT.cpp.o: Datei oder Verzeichnis nicht gefunden
make[2]: *** [lib/libopencv_world.so.2.4.7] Fehler 1
make[1]: *** [modules/world/CMakeFiles/opencv_world.dir/all] Fehler 2
make: *** [all] Fehler 2
Ich weiß wo die Datei qrc_window_QT.cpp.o rumspukt. Wie kann ich dem Linker anweisen, dass es die .o suchen muss weiß ich im Prinzip. Normalerweise macht man das per g++ Befehl. Ich denke ich muss den entsprechenden Befehl suchen und einfach ergänzen, aber ich bin wie gesagt momentan etwas überfordert damit.
Hat jemand einen heißen Tipp was ich machen/ wo ich suchen soll?
Vielen Dank im Voraus!
Inge
Guten Tag,
Natürlich habe ich mir die Manpages schon durchgesehen. Auch habe ich die Workspace Environment Variable angesehen. (Die aus einer Zahl, einem , und einer weiteren Zahl besteht).
Was mir nicht klar ist:
- Um was handelt es sich bei Ashmem genau?
- Wie kommt man von der Workspace Environment auf die "Lage" der ro.secure
Mir ist auch klar dass ich mit mmap eine datei/device in den speicher mappen kann (vermutlich nur HIGH MEM Regionen). Nur verstehe ich den Sinn des Codes nicht ganz.
Hoffe ich habe mich klarer ausgedrückt - danke.
Oh, btw: Wenn du "helloWorld" auf einmal schreiben und lesen möchtest, schreibst/liest du mit 10 Zeichen genau eines zu wenig (das '\0' am Ende fehlt dir sonst).
natürlich verwendet man APIs wenn es sie gibt und es Sinn macht.
z.B. warum sollte sonst irgendein Programm sonst eine der exestierenden libelf Implementierungen verwenden statt die Ausgabe von objdump, mn, readelf oder ähnlichen zu parsen.
ad ldconfig -p
warum soll ich z.B einen String für die Architektur Information parsen?
und welche Architektur Strings gibt es überhaupt. man ldconfig sagt dir das gar nicht.
das geht effizienter wenn man den richtigen Header hat, und die entsprechenden Flags findet.
in der glibc hab ich den Code für ldconfig jetzt gefunden, ob der geteilt wird und öffentlich zugänglich ist muss ich aber erst noch rausfinden, ich fürchte aber das dies nicht der Fall ist.
Mach doch einfach alles in einem Bash-Script. Da warst du eh dabei und es ist schnell gemacht, du hast ja scheinbar ein Programme zum Auslesen und das Schalten eines GPIO ist (nach der Einrichtung) nur eine Zeile.
Das ganze zu loggen ist auch recht einfach, du musst die beiden Werte ja einfach nur an eine Datei anhängen.
Vergleichen... natürlich kannst du vergleichen, aber was mit was?
Zum Schalten kannst du auch zwei Schwellen definieren, zB > 35 anschalten und erst bei < 33 wieder ausschalten. Kommt halt auch immer drauf an, wie genau du die Temperatur regeln willst und wie schnell sie sich durch die Lüfter ändert...
Bullz schrieb:
tcsh shell. Unter der Bash shell funktioniert der Befehl in der Tat. Hast du eine Idee wie ich das auch unter meiner SHELL zum laufen bekomme ? Arbeite großteils mit ihr.
Als nicht ganz so hübschen workaround kannst du
bash -c "find . -iname '*foo*' 2> /dev/null"
Der Beitrag ging bei der Forumswiederherstellung wohl verloren.
Also inzwischen habe ich libnids zum Laufen bekommen. Irgendein Problem gab es mit den Checksummen, wenn ich die Überprüfung ausschalte, funktioniert es.
Da muss ich nochmal nachforschen und dann werde ich libnids verwenden.
Mich hat das Thema auch interessiert und habe das hier dazu gefunden:
http://people.csail.mit.edu/albert/bluez-intro/
Weiter unten sind auch Beispiele in C. Vielleicht bringt es dir noch was.
mfg
und wie den ganzen browser in einen opengl kontext setzen? Am besten fullscreen, rsp ohne drumherum.
So was in der Art wie:
http://www.keeneeto.com/apps/xflight
Beispiele?
Ausschnitt aus der man page: (einfach man 2 write ins Terminal eingeben)
ssize_t write(int fd, const void *buf, size_t count);
...
write() writes up to count bytes from the buffer pointed buf to the file referred to by the file descriptor fd.
The number of bytes written may be less than count if, for example, there is insufficient space on the underlying
physical medium, or the RLIMIT_FSIZE resource limit is encountered (see setrlimit(2)), or the call was interrupted
by a signal handler after having written less than count bytes. (See also pipe(7).)
Du willst 2 Byte senden, es kann aber sein, dass du dafür die write Funktion 2mal aufrufen musst!
So auf die Art:
(Pseudecode)
toSend=Bytecount(str)
while(toSend>0)
{
currSent=write(...)
if(currSent>=0)
toSend=toSend-currSent
else
return ERROR
}
Ansonsten sei noch zu erwähnen, dass ein return Wert <0 normalerweise bedeutet, dass ein Fehler aufgetreten ist. Du hast immer nur auf -1 geprüft.
Ich hab vergessen, das abzuschließen. Ich hab es mittlerweile hinbekommen.
Die zeile 28 stimmt auch nicht mehr, weil in der zwischenzeit wieder etwas dazugekommen ist.
Es lag einmal daran, dass ich die DQLite Bibliothek falsch eingebunden hab (anscheinend jedenfalls)
Und ich habe noch -lpthread zum linker hinzugefügt.
Stackoverflow hat mein Problem gelöst!
http://stackoverflow.com/questions/19358421/performance-degradation-when-using-mmap
DIe Antwort war, dass das vm-subsystem so konfiguriert werden muss, dass es eher im Hintergrund swappt und den Prozss nicht so früh für writes stoppt. Ich halte das generell für ein sinnvolles setting auch abseits von meinem Problem.
das mit dem PrintStrArr war Absicht von mir, weil ich bei dem Codestück die Parameterliste nicht so ganz verstehe (werde gleich ein Topic für dieses Problem öffnen).
Diese warning mit dem Kommentar:
Heißt das, dass der Comiler automatisch zu den anderen C-Standards nachschaut und falls vorhanden, dann einfach weiterkompiliert und nur eine warning ausgibt?
und kann man das erzeugte Programm auch unter Windows zum laufen bringen?
mfg
hawxgamer
tim schrieb:
taucht zu dessen Beschaffung der Bezeichner "if_name" auf, der dem Compiler nicht bekannt ist.
Das ist eine Variable. Musst selber angeben.
Also ich habe bereits herausgefunden, dass ich den irgendwie neu einbinden muss im Linux Kernel mit Hilfe von modprobe usbserial vendor=... product=.... aber ich erhalte folgende Fehlermeldung
FATAL: Error inserting usbserial (/lib/modules/3.5.0-23-generic/kernel/drivers/usb/serial/usbserial.ko): Invalid argument
leider kann ich damit nicht anfangen. Evt kann mir ja jetzt wer helfen
LG