2009-08-18 25 views
16

Cập nhật: Tôi nhận được cảnh báo này khi biên dịch: phần nhiều '.text' tìm thấy với các thuộc tính khác nhauSử dụng libs/dlls biên soạn trong Linux/MinGW trong Visual Studio

Hi,

tôi đã biên soạn một số thư viện (.a và .dll) trong Linux bằng trình biên dịch MinGW Cross. Tôi có thể liên kết thành công với họ (.a) trong Visual Studio 2008. Tuy nhiên, khi nó chạy (sử dụng .dll), nó chấm dứt với con trỏ địa chỉ trỏ vào địa chỉ bộ nhớ trống.

Có cách nào/danh sách những việc cần làm để cho phép tôi sử dụng những thư viện đó thành công trong VC08 không?

Trình biên dịch chéo tạo

  1. * .dll.a
  2. * .dll

Cảm ơn

Trả lời

3

Nghe có vẻ với tôi như hai bên không sử dụng gọi điện thoại cùng quy ước, có nghĩa là có một vấn đề trong cách các chức năng dll xuất khẩu đã được xác định.

Cho đến nay phương pháp đơn giản nhất sẽ được xác định các chức năng như extern "C" bởi quy định chức năng xuất khẩu như sau:

extern "C" 
{ 
    int MyExportedFunction(char *buffer, int length); 
    void MyOtherFunction(); 
}; 
+0

Tôi đã có "C" bên ngoài trong quá trình nhập tiêu đề. – jameszhao00

+0

Tôi vừa để ý. Tôi nhận được nhiều phần '.text' được tìm thấy với các thuộc tính khác nhau khi biên dịch. – jameszhao00

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