2009-03-18 36 views
8

Tôi có một ứng dụng C++ có nhúng Python. Tôi đang xây dựng với Visual Studio 2005. Khi tôi cố gắng liên kết đến python26.lib, tôi nhận được một số ký hiệu chưa được giải quyết, tất cả bắt đầu bằng "__imp":Liên kết đến thư viện nhập khẩu Python trong Visual Studio 2005

lỗi LNK2019: biểu tượng bên ngoài chưa được giải quyết __imp__Py_Initialize được tham chiếu trong hàm _main

python26.lib là thư viện nhập (được cài đặt bởi trình cài đặt Python 2.6). Tôi phải làm gì để giải quyết những biểu tượng này? Chúng tồn tại trong thư viện import (dumpbin/tất cả đều hiển thị chúng). Cảm ơn.

Trả lời

10

Có vẻ như tôi đang cố liên kết thư viện Python 64 bit với ứng dụng 32 bit. Tôi muốn người liên kết nói với tôi điều gì khác hơn là "biểu tượng chưa được giải quyết". Liên kết tới thư viện 32 bit sẽ khắc phục sự cố.

2

Cố gắng bao gồm C:\WINDOWS\system32\python26.dll trong tài liệu tham khảo của bạn. python26.lib chứa tên biểu tượng cho DLL chính.

+1

Tôi nghĩ bạn không được phép liên kết trực tiếp với dll, mà là để tương ứng .lib. Khi tôi cố gắng liên kết trực tiếp đến python26.dll, tôi nhận được một lỗi liên kết (LNK1107: tệp không hợp lệ hoặc bị hỏng). Theo MSDN, lỗi này có thể xảy ra nếu bạn chuyển dll vào trình liên kết thay vì một .obj. – user76293

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