2009-03-18 31 views
8

Python'u gömülü bir C++ uygulamasına sahibim. Visual Studio 2005 ile yapıyorum. Python26.lib link çalıştığınızda, "__imp" ile başlayan bir dizi çözümlenmemiş semboller alıyorum:Visual Studio 2005'te Python içe aktarma kitaplığına bağlantı

hata LNK2019: çözümlenmemiş harici sembol __imp__Py_Initialize işlevde başvurulan _main

python26.lib bir içe aktarma kütüphanesi (Python 2.6 yükleyici tarafından kurulmuştur). Bu sembolleri çözmek için ne yapmam gerekiyor? İthalat kütüphanesinde varlar (dumpbin/hepsini gösterir). Teşekkürler.

cevap

10

Bir 64 bit Python kitaplığını 32 bit uygulamaya bağlamayı deniyormuş gibi görünüyor. Bağlantının bana "çözülmemiş sembol" den başka bir şey söyleyebilmesini diliyorum. 32 bit kitaplığa bağlanması sorunu giderir.

2

Referanslarınıza C:\WINDOWS\system32\python26.dll eklemeye çalışın. python26.lib, ana DLL için sembol isimlerini içerir.

+1

Doğrudan dll'lerle değil, karşılık gelen .lib ile bağlantı kurmanız gerektiğini düşünmüştüm. Doğrudan python26.dll dosyasına bağlanmaya çalıştığımda, bir bağlayıcı hatası (LNK1107: geçersiz veya bozuk dosya) alıyorum. MSDN'ye göre, bir dll bir .bj yerine bağlayıcıya iletirseniz, bu hata oluşabilir. – user76293

İlgili konular