boost regex führt immer zu Absturz



  • Hallo zusammen

    Als ich vesucht habe die boost regex library zu verwenden führte der Aufruf von

    boost::regex re("test")
    

    zu einem sofortigen Absturz des Programms mit dem Fehlercode -1073741819 (0xC0000005)

    Im Linker habe ich die library "libboost_regex-gcc-mt-s.a" und "libpthread.a" angegeben. Die Librarys werden mit Cygwin mitgeliefert. Die boost Version ist 1.33.1. Die Version der Librarys weiss ich nicht es gibt allerdings noch eine Library mit dem Namen "libboost_regex-gcc-mt-s-1_33_1.a" welche ich auch ausprobiert habe, den Absturz erhalte ich allerdings mit beiden Versionen, sofern sie denn überhaupt verschieden sind.

    Falls es weiterhilft, hier noch der Callstack an dem der Fehler auftritt:

    #0 61093597	_sigfe() (C:\cygwin\bin\cygwin1.dll:??)
    #1 610B5A20	__cygwin_lock_trylock() (C:\cygwin\bin\cygwin1.dll:??)
    #2 004197AC	boost::object_cache<boost::re_detail::cpp_regex_traits_base<char>, boost::re_detail::cpp_regex_traits_implementation<char> >::get() (C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/iostream:77)
    #3 00418DD4	boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::do_assign() (C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/iostream:77)
    #4 004188DA	boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::assign(this=0x22ff20, p1=0x466004 "[0-9]+\\s*/\\s*[0-9]+\\s*", p2=0x46601a "", f=0) (C:/cygwin/usr/include/boost-1_33_1/boost/regex/v4/basic_regex.hpp:254)
    #5 0041890F	boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::assign(this=0x22ff20, p=0x466004 "[0-9]+\\s*/\\s*[0-9]+\\s*", f=0) (C:/cygwin/usr/include/boost-1_33_1/boost/regex/v4/basic_regex.hpp:239)
    #6 004193F6	boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::basic_regex(this=0x22ff20, p=0x466004 "[0-9]+\\s*/\\s*[0-9]+\\s*", f=0) (C:/cygwin/usr/include/boost-1_33_1/boost/regex/v4/basic_regex.hpp:208)
    #7 00401B7A	main(argc=2, argv=0x2a1128) (D:/Documents/Schule/FH/Faecher/Programmieren_3/Woche_14/Aufgabe_05/Main.cpp:39)
    

    Ich hoffe mit diesen Angaben könnt ihr mir weiterhelfen. Vielen Dank schonmal.



  • Bist du sicher dass die .a zu den .hpps passt?
    Versuch mal selber compilieren (mit bjam geht das ja halbwegs einfach normalerweise).



  • Ich habs jetzt mal versucht selber zu kompillieren, war wirklich nicht schwer :-). Jetzt funktionierts! Danke!



  • Schamaz schrieb:

    Ich habs jetzt mal versucht selber zu kompillieren, war wirklich nicht schwer :-). Jetzt funktionierts! Danke!

    Siehste, das passiert wenn man die vorkompilierten Dinger nutzt.
    Deswegen gebe ich dir hier den Rat immer alles selber zu kompilieren, falls möglich. Dann kannst du dir auch sicher sein, dass alles zusammen passt.


Anmelden zum Antworten