CYFROWY BARON • PROGRAMOWANIE • Zobacz wątek - boost::signal

boost::signal

problemy z funkcjonowaniem bibliotek, komponentów itp.

boost::signal

Nowy postprzez banita » niedziela, 27 czerwca 2010, 18:10

w c++builder 2009 i 2010 jest dołączona biblioteka boost.
probowal ktos uruchomic jakis prosty przyklad odnosnie biblioteki signal?

w moim przypadku wysatrczy napisac:

boost::signal<void ()> signal;

i juz mam access violation z przekierowaniem do pliku borlandowskiego.
czyzby jakis konflikt na lini boost vcl?
Avatar użytkownika
banita
Kreacjusz
Kreacjusz
 
Posty: 283
Dołączył(a): poniedziałek, 28 lipca 2008, 20:07
Podziękował : 1
Otrzymał podziękowań: 18
System operacyjny: Windows 7 Professional
Kompilator: C++Builder 2010 Update 5,
Delphi 2010 Update 5,
NetBeans 6.9(MinGw + Qt),
Visual Studio 2008 + Qt
Gadu Gadu: 0
    Windows 7Opera

Re: boost::signal

Nowy postprzez Cyfrowy Baron » niedziela, 27 czerwca 2010, 21:36

Mam ten sam problem i dotyczy on chyba wszystkich bibliotek boost. Nie znalazłem rozwiązania.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: boost::signal

Nowy postprzez banita » niedziela, 27 czerwca 2010, 21:43

wyglada na to ze panowie z embarcadero nie przylozyli sie podczas testow.

dotychczas uzywalem tylko scoped_ptr czy date_time i bylo ok.
ostatnio sporo pisalem w Qt i chcialem wykozystac mechanizm slot/signal w bcb a tu lipa.

dodam ze pod kompilatorem visual c++ czy intel c++ boost::signal chodzi pieknie
Avatar użytkownika
banita
Kreacjusz
Kreacjusz
 
Posty: 283
Dołączył(a): poniedziałek, 28 lipca 2008, 20:07
Podziękował : 1
Otrzymał podziękowań: 18
System operacyjny: Windows 7 Professional
Kompilator: C++Builder 2010 Update 5,
Delphi 2010 Update 5,
NetBeans 6.9(MinGw + Qt),
Visual Studio 2008 + Qt
Gadu Gadu: 0
    Windows 7Opera

Re: boost::signal

Nowy postprzez Cyfrowy Baron » poniedziałek, 28 czerwca 2010, 07:51

To nie jest chyba problem biblioteki, ale sposobu w jaki się z niej korzysta, gdyż przeprowadziłem próbę z biblioteką signal.h i efekt był identyczny, więc nie dotyczy on tylko biblioteki boost.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: boost::signal

Nowy postprzez Corvis » poniedziałek, 28 czerwca 2010, 10:15

Ja sprawdzałem regex i tuples i wszystko OK
"Sukcesy trwają, dopóki ich ktoś nie spieprzy. Porażki są wieczne"

Dr Gregory House
Avatar użytkownika
Corvis
Programista I
Programista I
 
Posty: 880
Dołączył(a): sobota, 26 lipca 2008, 00:31
Podziękował : 80
Otrzymał podziękowań: 30
System operacyjny: WINDOWS 7 64-bity
Kompilator: Praca - C++ Builder XE2 ENTERPRISE - Update 4, Dom - C++ Builder XE4 - Uddate 1
Gadu Gadu: 0
    Windows VistaSafari

Re: boost::signal

Nowy postprzez Cyfrowy Baron » poniedziałek, 28 czerwca 2010, 10:27

Przeprowadzając test z signal.h popełniłem drobny błąd, w efekcie wciąż wywoływałem funkcję biblioteki boost.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: boost::signal

Nowy postprzez banita » poniedziałek, 28 czerwca 2010, 10:51

na oficjalnym forum jest temat o boost signals. nie dotyczy on co prawda poruszonego tutaj problemu tylko ogolnie poczatkow ale wynika z niego ze da sie to odpalic... chyba ;)

https://forums.embarcadero.com/thread.jspa?threadID=32256&tstart=105
Avatar użytkownika
banita
Kreacjusz
Kreacjusz
 
Posty: 283
Dołączył(a): poniedziałek, 28 lipca 2008, 20:07
Podziękował : 1
Otrzymał podziękowań: 18
System operacyjny: Windows 7 Professional
Kompilator: C++Builder 2010 Update 5,
Delphi 2010 Update 5,
NetBeans 6.9(MinGw + Qt),
Visual Studio 2008 + Qt
Gadu Gadu: 0
    Windows 7Opera

Re: boost::signal

Nowy postprzez Cyfrowy Baron » poniedziałek, 28 czerwca 2010, 11:49

Też na niego natrafiłem, ale nic z tego nie wynika. Przeszukałem sieć i nie znalazłem nic co mogłoby pomóc. Być może to kwestia ustawień środowiska?!
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: boost::signal

Nowy postprzez banita » piątek, 24 września 2010, 22:50

w nowym c++builder xe problem ten nadal wystepuje
Avatar użytkownika
banita
Kreacjusz
Kreacjusz
 
Posty: 283
Dołączył(a): poniedziałek, 28 lipca 2008, 20:07
Podziękował : 1
Otrzymał podziękowań: 18
System operacyjny: Windows 7 Professional
Kompilator: C++Builder 2010 Update 5,
Delphi 2010 Update 5,
NetBeans 6.9(MinGw + Qt),
Visual Studio 2008 + Qt
Gadu Gadu: 0
    Windows 7Opera

Re: boost::signal

Nowy postprzez Cyfrowy Baron » wtorek, 29 marca 2011, 09:46

Przypomniałem sobie o tym wątku, przy okazji innego problemu z bibliotekami BOOST. Szukałem jakiegoś sposobu na użycie funkcji signal z tych bibliotek i niestety NIC. Zajrzałem do biblioteki boost\signal.hpp i już na samym początku możemy przeczytać:


// Boost.Signals library

// Copyright Douglas Gregor 2001-2006. Use, modification and
// distribution is subject to the Boost Software License, Version
// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)

// For more information, see http://www.boost.org/libs/signals



Jak widać biblioteka jest dość stara, pochodzi z lat 2001-2006, czyli z okresu C++Builder 6. Wszedłem na stronę http://www.boost.org/libs/signals i poszukałem informacji o kompatybilności:


Any compiler supporting the preferred syntax

Microsoft Visual C++ 6.0, 7.0
Borland C++ 5.5.1
Sun WorkShop 6 update 2 C++ 5.3
Metrowerks CodeWarrior 8.1




Wychodzi więc na to, że firma Embarcadero dołączyła biblioteki BOOST do swojego środowiska, ale nie zadbała o to by były one kompatybilne z tym środowiskiem.
Przejrzałem katalog boost i znalazłem przykładowe projekty i okazuje się, że one również nie działają.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: boost::signal

Nowy postprzez Cyfrowy Baron » wtorek, 29 marca 2011, 10:17

Natknąłem się na ciekawą informację odnośnie bibliotek BOOST dla środowiska C++Builder 2010:

KOD text:     UKRYJ  
Version 1.39 is being partially supported at present (current version is 1.41). However, this library
is also available for C++Builder 2007 (BCBport by Alisdair Meredith) and C++Builder 2009
(integrated version 1.35).

According to a statement from Embarcadero, the current version of C++Builder 2010 supports
the following libraries without restriction:

• algorithm/minmax
• algorithm/string
• any
• array
• crc
• disjoint_sets
• format
• functional
• logic
• property_map
• signals
• static_assert
• system
• tokenizer
• tuple
• utility/swap


The following libraries are restricted, and this could cause problems:

• config
• conversion
• dynamic_bitset
• filesystem
• integer
• io
• optional
• timer
• type_traits
• regex
• functional/hash
• test
• math
• tr1
• mpl
• range
• function
• function_types
• unordered
• utility
• utility/enable_if
• iterator
• asio
• variant
• numeric/interval
• exception
• circular_buffer
• parameter
• date_time
• concept_check
• assign
• numeric/conversion
• typeof
• spirit
• gil
• thread

The other libraries are not supported and are not included in the installation.


Mamy tam ciekawą informację:

KOD text:     UKRYJ  
Zgodnie z oświadczeniem Embarcadero, obecna wersja C++ Builder 2010 obsługuje następujące biblioteki bez ograniczeń:

[...]
• signals


Czyli teoretycznie powinno działać, w praktyce jednak nie działa.

Mamy tam również informację:

KOD text:     UKRYJ  
Następujące biblioteki posiadają ograniczenia, co może powodować problemy:


ale te biblioteki, akurat nie wywołują problemów. Co się tyczy pozostałych, nie wymienionych bibliotek to mamy informację:

KOD text:     UKRYJ  
Inne biblioteki nie są obsługiwane i nie zostały dołączone podczas instalacji.


Tyle, że podczas instalacji dodano więcej bibliotek niż wymienione...
Jak widać firma Embarcadero traktuje biblioteki BOOST po macoszemu, jako coś co jest raczej zbędne. :( To niestety stwarza problemy gdy chcemy skorzystać z bibliotek, które z kolei wykorzystują biblioteki boost, jak chociażby biblioteki OpenCV, z których praktycznie nie da się korzystać w środowisku C++Builder powyżej wersji 5, gdyż biblioteki boost nie działają w tych środowiskach prawidłowo.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: boost::signal

Nowy postprzez poleka » piątek, 8 lipca 2011, 11:39

Nie wiem jak w innych wersjach Buildera, ale w XE jest nawet oddzielny instalator, który instaluje bibliotek boost. Równie szybko jak się ucieszyłem, tak też się rozczarowałem. Pewną metodą na używanie najnowszej wersji bibliotek boost i jej wszystkich dobrodziejstw, jest np. tworzenie bibliotek dll w innych kompilatorach. Z boostem nie ma problemów w VC++2010 oraz MinGW.
Avatar użytkownika
poleka
Bladawiec
Bladawiec
 
Posty: 12
Dołączył(a): niedziela, 13 lipca 2008, 20:52
Podziękował : 0
Otrzymał podziękowań: 0
    Windows 7Opera


  • Podobne tematy
    Odpowiedzi
    Wyświetlone
    Ostatni post

Powrót do Biblioteki i komponenty

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 1 gość