2010-12-28 8 views
10

Ho bisogno di generare wrapper per classi FLTK C++ per usarlo in puro C. So che SWIG può farlo e so come generare wrapper per C#, Python ecc. Ma non so come avvolgere C++ in C usando SWIG. È un compito semplice, ma non riesco a trovare la risposta :) Per favore, aiuto.C++ to C Wrapper con SWIG (per FLTK)

+0

Interessante, da quello che posso dire dalla documentazione, SWIG genera C wrapper per codice C++, dovrebbe essere possibile utilizzarli direttamente – Hasturkun

+0

Grazie, ma non riesco a trovare informazioni sulla documentazione su come farlo. Continuerò a cercare ... – Artem

+0

@Hasturkun: Penso che tu stia interpretando male la documentazione. –

risposta

5

Non penso che SWIG supporti la generazione di wrapper C fuori dalla scatola. Devi sempre specificare una lingua di destinazione. Nel 2008, c'era un GSoC project per scrivere un C backend, ma apparentemente non è mai stato completato/incorporato in SWIG.

+0

Non penso che questa documentazione sia pensata per essere presa alla lettera. Invece, questo mostra come funziona il wrapper per ogni lingua. Invece di 'new_list', il generatore Python (ad esempio) genera' _wrap_new_List'; questo diventa disponibile per Python come 'new_List'. '_wrap_new_List' fa molto più di quanto dice la documentazione, in quanto deve anche integrarsi con la VM Python. –

+0

Ora sto testando SWIG con il backend C. Compilato con successo con mingw, ma ha ottenuto alcuni errori durante l'analisi di FLTK include (Tale: FLTK13 \ FL \ filename.h (60): Errore: Errore di sintassi in input (1).). Riferirò i risultati ... Grazie per l'idea! – Artem

+0

Ho deciso di andare in un altro modo per risolvere il mio problema, ma per il problema descritto sopra, la soluzione offerta da Martin: la soluzione migliore, che può essere trovata. Grazie ancora. – Artem