2013-05-13 11 views
10

Chcę wystawić warstwę boost::shared_Ptr na Tcl za pomocą SWIG. ale obecnie nie wiem, czy mogę to ujawnić. Dowiedziałem się, że folder SWIG/Lib zawiera plik interfejsu dla shared_ptr.i. Ale w treści dowiedziałem się, że nie mogłem jej użyć bezpośrednio. Musi być włączony po "boost_shared_ptr.i". Ale nie ma to jak boost_shared_ptr.i w folderze "SWIG/Lib/tcl", ale mamy podobny interfejs, który mógłbym dołączyć do Javy.Jak udostępnić Boost :: shared_ptr <T> do pliku interfejsu Tcl + SWIG?

+0

Chciałbym pomóc, ale nigdy nie robiłem bindowania C++/Tcl w sposób merytoryczny i na pewno nie zrobiłem tego z SWIG. (Wiem trochę o tym, jak wiązać podstawowe typy, ale 'shared_ptr'? W ogóle nie mam pojęcia, pracuję dużo więcej przy zwykłym starym C ...) –

+0

Nie próbujesz wystawić T jako parametru do Tcl, prawda? – AlexK

+0

Rzeczywiście chcę utworzyć uchwyt dla boost :: shared_ptr w tcl. –

Odpowiedz

0

Nie możesz użyć standardowej shared_ptr? Mam na myśli std :: tr1 :: shared_ptr? W gcc trzeba by

#include <tr1/memory> 
+0

Nie mogę użyć std :: tr1 :: shared_ptr, ponieważ moja biblioteka będzie używana zarówno w Javie, jak iw TCL, a ja już wszystko wyeksponowałem na Javie i wygląda na to, że działa dobrze. –

+0

Co więcej, Microsoft nie spełniał zgodności C++ 0x. Działa na WIN XP SP2 lub nowszym, więc jeśli tworzysz projekt, który ma wielu użytkowników, nie możesz go jeszcze użyć. – ST3

4

Kiedy ostatnio próbowałem nie było dobre wsparcie dla doładowania/shared_ptr we wszystkich SWIG. Python miał najlepszy zasięg. Chcę się dowiedzieć, czy to się zmieniło.

Jeśli chodzi o moje inne doświadczenia z SWIG, należy również utworzyć instancję szablonu przy użyciu% szablonu dla każdego typu, który ma zostać ujawniony.

Powiązane problemy