2013-06-10 9 views
10

Próbuję #include <Python.h> w moim kodu C++ i kiedy idę do kompilowania mojego kodu pojawia się błąd:Używanie Pythona 3.3 w C++ „python33_d.lib” nie został odnaleziony

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

Teraz próbowałem znajdź plik python33_d.lib na moim komputerze, aby uwzględnić w moich zależnościach linkera, ale mnie nie znaleziono. Udało mi się znaleźć python33.lib.

Gdzie mogę znaleźć numer python33_d.lib lub jak rozwiązać ten problem?

Odpowiedz

5

służy do kompilacji debugowania. Zamiast tego przełącz się na kompilację wydania.

+0

Teraz po uruchomieniu nie można znaleźć pliku python33.dll. Dodaję go do mojego projektu, czy muszę dodać ścieżkę do Python33.dll do moich właściwości? – user1334858

+0

Umieść tę bibliotekę DLL w miejscu, które program ładujący spodziewa się znaleźć, na przykład w bieżącym katalogu. –

+0

Okej, więc skopiowałem wklejono 'Python33.dll' w moim bieżącym katalogu i teraz otrzymuję błąd naruszenia dostępu' Nieobsługiwany wyjątek na 0x000000001E17D5CD (python33.dll) w PythTest.exe: 0xC0000005: Dostęp do odczytu naruszenia lokalizacji 0x0000000000000008. " – user1334858

14

W przypadku, gdy trzeba wersji debug (jak ja do pracy), możliwe jest zbudowanie biblioteki siebie:

  1. Pobierz archiwum źródłowego z http://www.python.org/download
  2. Rozpakuj archiwum (7zip zrobi lewy) i przejdzie do wynikowego katalogu (powinno to być coś w stylu Python-3.3.2).
  3. Z katalogu Python przejdź do folderu PCBuild. Są tu dwa ważne pliki: readme.txt, który zawiera instrukcje do budowania Pythona w Windows (nawet jeśli używa stylu linii UNIX ...) i pcbuild.sln, który jest rozwiązaniem Visual Studio, które buduje Python.
  4. Otwórz plik pcbuild.sln w Visual Studio. (Zakładam, że używasz programu Visual Studio 10; plik readme.txt zawiera szczegółowe instrukcje dla starszych wersji Visual Studio.)
  5. Upewnij się, że Visual Studio jest ustawione na konfigurację "debugowania", a następnie zbuduj rozwiązanie dla odpowiedniej architektury (x64 lub Win32). Możesz dostać kilka nieudanych podprojektów, ale nie wszystkie z nich są niezbędne do zbudowania python33_d; według moich obliczeń, 8 kompilacji nie powiodło się, a mimo to otrzymałem działający plik .lib.
  6. Znajdziesz python33_d.lib i python33_d.dll w folderze PCBuild (jeśli budynek Win32) lub podfolder amd64 (jeśli budynek x64).
+0

Jest to bardzo pomocne. – slater

7

Proste rozwiązanie z python bug tracker:

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

Jeśli zainstalować Pythona przez instalatorów na Python.org, można powiedzieć, że instalator zawierać symbole debugowania i plików binarnych, takich jak plik pythonXX_d.dll wybierając "Dostosuj instalację" podczas instalacji (myślę, że jest na drugiej stronie dostosowywania). To może być najłatwiejsze rozwiązanie, jeśli nie jesteś zbyt mądry w samodzielnym budowaniu projektu (jak ja). Szkoda, nie widzę sposobu, aby to zrobić z dystrybucją anakonda.

+1

Zwróć uwagę, że ta opcja nie jest widoczna na pierwszym ekranie po wybraniu opcji Dostosuj (to trochę mnie wyrzuciło). Musisz kliknąć przycisk "Dalej", a zobaczysz opcję. –

Powiązane problemy