2013-06-10 28 views
10

Tôi cố gắng để #include <Python.h> trong ++ mã C của tôi và khi tôi đi đến biên dịch mã của tôi, tôi nhận được lỗi của:Sử dụng Python 3.3 trong C++ 'python33_d.lib' không tìm thấy

fatal error LNK1104: cannot open file 'python33_d.lib' 

Bây giờ tôi đã cố gắng tìm tập tin python33_d.lib trên máy tính của tôi để bao gồm trong các phụ thuộc liên kết của tôi, nhưng tôi không tìm thấy. Tôi đã có thể tìm thấy python33.lib.

Tôi có thể tìm số python33_d.lib ở đâu hoặc làm cách nào để giải quyết vấn đề này?

Trả lời

5

*_d.lib được sử dụng để gỡ lỗi các bản dựng. Thay vào đó, hãy chuyển sang bản phát hành bản phát hành.

+0

Bây giờ khi tôi chạy nó không thể tìm thấy python33.dll. Tôi thêm nó vào dự án của tôi, tôi cần phải thêm một đường dẫn đến python33.dll vào tài sản của tôi? – user1334858

+0

Đặt DLL đó ở đâu đó mà trình tải dự kiến ​​sẽ tìm thấy nó, chẳng hạn như thư mục hiện tại. –

+0

OK vì vậy tôi sao chép dán 'Python33.dll' trong thư mục hiện tại của tôi và bây giờ tôi nhận được một lỗi vi phạm truy cập' Ngoại lệ ngoại lệ tại 0x000000001E17D5CD (python33.dll) trong PythTest.exe: 0xC0000005: Truy cập vi phạm vị trí đọc 0x0000000000000008.' – user1334858

14

Trong trường hợp bạn cần một phiên bản sửa lỗi (như tôi làm cho công việc), nó có thể để xây dựng thư viện cho mình:

  1. Tải tarball nguồn từ http://www.python.org/download
  2. Giải nén tarball (7zip sẽ thực hiện thủ thuật) và đi vào thư mục kết quả (phải giống như Python-3.3.2).
  3. Từ thư mục Python, chuyển đến thư mục PCBuild. Có hai tệp quan trọng ở đây: readme.txt, chứa các hướng dẫn xây dựng Python trong Windows (ngay cả khi nó sử dụng kiểu dòng nguồn cấp dữ liệu UNIX ...) và pcbuild.sln, là giải pháp Visual Studio xây dựng Python.
  4. Mở pcbuild.sln trong Visual Studio. (Tôi giả sử bạn đang sử dụng Visual Studio 10; readme.txt chứa hướng dẫn cụ thể cho các phiên bản Visual Studio cũ hơn.)
  5. Đảm bảo Visual Studio được đặt thành cấu hình "gỡ lỗi" và sau đó xây dựng giải pháp cho kiến ​​trúc phù hợp của bạn (x64 hoặc Win32). Bạn có thể nhận được một vài tiểu dự án không thành công, nhưng không phải tất cả chúng đều cần thiết để xây dựng python33_d; theo số lượng của tôi, 8 xây dựng không thành công và tôi có một tập tin .lib làm việc anyway.
  6. Bạn sẽ tìm thấy python33_d.lib và python33_d.dll trong thư mục PCBuild (nếu xây dựng Win32) hoặc thư mục con amd64 (nếu xây dựng x64).
+0

Điều này rất hữu ích. – slater

7

giải pháp đơn giản từ python bug tracker:

#ifdef _DEBUG 
    #undef _DEBUG 
    #include <python.h> 
    #define _DEBUG 
#else 
    #include <python.h> 
#endif 
2

Nếu bạn cài đặt python qua trình cài đặt trên python.org, bạn có thể nói trình cài đặt bao gồm những biểu tượng gỡ lỗi và những chương trình như file pythonXX_d.dll bằng cách chọn "Tùy chỉnh cài đặt" trong khi cài đặt (tôi nghĩ rằng đó là trên trang tùy chỉnh thứ hai). Đây có thể là giải pháp dễ nhất nếu bạn không hiểu rõ về việc tự mình xây dựng dự án (như tôi). Quá tệ Tôi không thấy bất kỳ cách nào để làm điều này với sự phân phối anaconda.

+1

lưu ý rằng tùy chọn này không có trên màn hình đầu tiên bạn thấy sau khi chọn tùy chỉnh (điều này đã khiến tôi tắt một chút). Bạn phải bấm vào nút "Next" và sau đó bạn sẽ thấy tùy chọn. –

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