2010-12-28 28 views
10

Tôi cần tạo trình bao bọc cho các lớp FLTK C++ để sử dụng nó trong pure C. Tôi biết, SWIG có thể làm điều đó và tôi biết cách tạo trình bao bọc cho C#, Python vv Nhưng tôi không biết cách bọc C++ vào C bằng SWIG. Nhiệm vụ đơn giản, nhưng tôi không thể tìm thấy câu trả lời :) Xin vui lòng, giúp đỡ.C++ to C Wrapper sử dụng SWIG (cho FLTK)

+0

Thú vị, từ những gì tôi có thể nói từ tài liệu, SWIG tạo trình bao bọc C cho mã C++, bạn có thể sử dụng trực tiếp – Hasturkun

+0

Cảm ơn bạn, nhưng tôi không thể tìm thấy trong thông tin tài liệu về cách thực hiện điều đó. Tôi sẽ tiếp tục tìm kiếm ... – Artem

+0

@ Hasturkun: Tôi nghĩ bạn đang hiểu sai tài liệu. –

Trả lời

5

Tôi không nghĩ SWIG hỗ trợ tạo trình bao bọc C ra khỏi hộp. Bạn luôn cần chỉ định ngôn ngữ đích. Trong năm 2008, có một GSoC project để viết một C backend, nhưng điều đó dường như không bao giờ được hoàn thành/kết hợp vào SWIG.

+0

Tôi không nghĩ rằng tài liệu này có nghĩa là phải được thực hiện theo nghĩa đen. Thay vào đó, điều này minh họa cách các hàm bao bọc cho mỗi ngôn ngữ trông như thế nào. Thay vì 'new_list', trình tạo Python (ví dụ) tạo' _wrap_new_List'; điều này trở thành có sẵn cho Python là 'new_List'. '_wrap_new_List' làm nhiều hơn tài liệu nói, vì nó cũng cần tích hợp với máy ảo Python. –

+0

Bây giờ tôi thử SWIG với phần phụ trợ C. Biên dịch Nó thành công với mingw, nhưng có một số lỗi trong khi phân tích cú pháp FLTK bao gồm (Chẳng hạn: FLTK13 \ FL \ filename.h (60): Lỗi: Lỗi cú pháp trong đầu vào (1).). Tôi sẽ báo cáo kết quả ... Cảm ơn ý tưởng! – Artem

+0

Tôi quyết định đi một cách khác để giải quyết vấn đề của tôi, nhưng đối với vấn đề được mô tả trong câu hỏi trên, giải pháp mà Martin cung cấp - giải pháp tốt nhất, có thể được tìm thấy. Cám ơn bạn một lần nữa. – Artem

Các vấn đề liên quan