2012-01-15 26 views
6

Tôi đang sử dụng khung công tác C++ cho dự án C# và sử dụng swig để kết nối chúng.TypeInitializationException khi sử dụng swig cho C#

Vấn đề là TypeInitializationException được ném mỗi khi tôi cố gắng tạo trình bao bọc đối tượng C++.

C# code

TRPoint p = new TRPoint(); 

nơi TRPoint là một struct C++

typedef struct { 
    float x, y; 
} TRPoint; 

enter image description here

chi tiết:

enter image description here

Tôi có một dự án vc xây dựng mã C++ vào tệp DLL nhưng tôi không biết cách liên kết nó đúng cách.

+3

Ngoại lệ bên trong là gì? –

+0

Nhấp vào Xem chi tiết. Swig được thay vì một phước lành hỗn hợp, gỡ lỗi mã bạn không hiểu khi bạn nhận được trường hợp ngoại lệ bạn không hiểu là không có niềm vui. Đi chậm hơn. –

+0

@ M.Babcock Tôi đã cập nhật câu hỏi. –

Trả lời

3

Ngoại lệ cho biết "không thể tải DLL" - có vẻ như bạn đã not built the C++ code SWIG tạo hoặc có thể gặp sự cố đường dẫn nếu nó được tạo.

+0

Tôi đã xây dựng mã C++ thành tệp DLL nhưng chúng tôi không thể tải nó bằng DllImport. –

+0

Liên kết tới Câu hỏi thường gặp có thể được cập nhật cho câu hỏi này: https://github.com/swig/swig/wiki/FAQ#shared-libraries – matth

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