ordner auf mp3s, wavs und unterordner durchsuchen
-
nö die dir.h gibts irgendwie seit dos nimmen.
und die dirent.h auch net oder die is für linux weissich nimmen.
(sind auf jeden fall beide net dabei beim vs .net)
und mit direct.h habich die lösung für mein prob net gesehen
vielleicht gibts die nötigen funktionen im hl2 code ja schon hab se aber net gefunden!
-
Guck mal ob es bei dir eine io.h gibt. Die dir.h sieht nähmlich bein MinGW so aus:
/* * dir.h * * This file OBSOLESCENT and only provided for backward compatibility. * Please use io.h instead. * * This file is part of the Mingw32 package. * * Contributors: * Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp> * Mumit Khan <khan@xraylith.wisc.edu> * * THIS SOFTWARE IS NOT COPYRIGHTED * * This source code is offered for use in the public domain. You may * use, modify or distribute it freely. * * This code is distributed in the hope that it will be useful but * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY * DISCLAIMED. This includes but is not limited to warranties of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * */ #include <io.h>mfg.
-
Hallo,
schau dir mal boost::filesystem an.
Oder auch: http://fara.cs.uni-potsdam.de/~kaufmann/dirstream/index.html
-
vielen dank ich habs mit dirstream versucht und funktioniert einwandfrei, unter windows sowie auch linux.
aber ein problem habich, wie kannich überprüfen ob das verzeichnis existiert?
wenn ich es auf einem verzeichnis versuche dasses net gibt crashts!
thx
-
smash schrieb:
aber ein problem habich, wie kannich überprüfen ob das verzeichnis existiert?
wenn ich es auf einem verzeichnis versuche dasses net gibt crashts!
thxdirstr::directory_exists crasht bei dir? Unter welchem BS und mit welchem String?
-
nein eigentlich nicht aber das wenn der pfad nicht existiert:
dirstream str(path,pattern_f("*.mp3"),recursive_yes);wollte irgendwie mit dem überprüfen so wie bei fopen() da mussich ja auch net prüfen obs das file gibt bevor ich fopen mach.
scheint zu gehen thx^^
war irgendwie wohl einfach schon bissel durch so viel gecodet in letzter zeit und so viel aufgaben und prüfungen
-
öhm ja ich nomma ich befasse mich grade noch mit linux compiling.
brauchts die dirstream_w32_posix.cpp unter linux überhaupt?
weil dann bekommich folgende fehler:dirstream_w32_posix.cpp: In function `std::string dirstr::full_path(const std::string&)': dirstream_w32_posix.cpp:174: error: `PATH_MAX' undeclared (first use this function) dirstream_w32_posix.cpp:174: error: (Each undeclared identifier is reported only once for each function it appears in.) dirstream_w32_posix.cpp:175: error: `buffer' undeclared (first use this function) make: *** [build/obj/plugin/dirstream_w32_posix.o] Fehler 1und wenn ich sie weglasse bekommich das:
/usr/lib/gcc-lib/i486-slackware-linux/3.3.4/../../../../i486-slackware-linux/bin/ld: ./build/xSound_i486.so: undefined versioned symbol name std::time_put_w@@GLIBCPP_3.2 /usr/lib/gcc-lib/i486-slackware-linux/3.3.4/../../../../i486-slackware-linux/bin/ld: failed to set dynamic section sizes: Bad value collect2: ld returned 1 exit statusdanke im voraus
-
smash schrieb:
öhm ja ich nomma ich befasse mich grade noch mit linux compiling.
brauchts die dirstream_w32_posix.cpp unter linux überhaupt?Jup.
weil dann bekommich folgende fehler:
dirstream_w32_posix.cpp: In function `std::string dirstr::full_path(const std::string&)': dirstream_w32_posix.cpp:174: error: `PATH_MAX' undeclared (first use this function) [...]Das liegt daran, dass PATH_MAX nicht wirklich POSIX-Standard ist. Es wird nur auf den meisten POSIX-System definiert. Hilft es, wenn du <limits.h> inkludierst (nach dem #include <stdlib.h> in Zeile 152)?
-
die wird eh schon irgendwo inkludiert hat mal reklamiert dasses die /usr/include/linux/limits.h net findet und dann habich die von /include nach /include/linux kopiert
die errno.h habich auch noch da kopieren müssen weiler da auch mal reklamiert hat. und jetzt? kann es sein dass mein compiler oder meine libs zu alt sind? weil ich konnte nach vielen stunden endlich mal mein serverplugin kompilieren, leider nur das dasich net brauche im mom, die zwei wo ich dirstream drinhabe habich eben das prob. gcc libs habich 3.4.4 würdich meinen (../gcc-lib/i486-slackware-linux/3.3.4) und die std libs oder so habich ka und compiler ka.hatte es zuerst aufm suse 10 und da hat er bei nem file vom hl2 sdk (maths.h) reklamiert was un undefined register %irgendwas und so und jetzt habich hier son pocket linux unter windows und da konntich wenigstens das ohne dirstream kompilieren und hat auch funktioniert.
ja wäre froh wennich das möglichst schnell kompilieren könnte muss das schon lange haben dann wärs schon lang aufm server!
thx
edit: was wäre wennich manuell #define ... machen würde?
edit2: weiss net obichs letztes mal übersehen hab aber jetzt kommt das:
dirstream_w32_posix.cpp: In function `std::string dirstr::full_path(const std::string&)': dirstream_w32_posix.cpp:174: error: `PATH_MAX' undeclared (first use this function) dirstream_w32_posix.cpp:174: error: (Each undeclared identifier is reported only once for each function it appears in.) dirstream_w32_posix.cpp:175: error: `buffer' undeclared (first use this function)
-
so gibt neuigkeiten... habe gcc und g++ geupdatet auf 3.4.5 und mit installpkg oder wie das heisst installiert. jezt kannichs kompilieren. hab auch noch die limits.h vom kumpel bekommen und das max path hater jetzt auch.
und auch das makefile das er verwendet hat für das plugin.
nur:
seins is 50 kb grösser als meins ungefähr (hat aber genau die gleichen quellcodes und das makefile habich ja von ihm) und seins geht und meins crasht den server.
son witz!edit: habe 3 plugins hier, 2 ohne dirstream die kannich selbst unter linux kompilieren und gehen wunderbar, aber das mit dirstream crasht den server sofort, wenn ichs selber kompiliere, das dass jemand anders kompiliert hat geht wunderbar!