2009-03-18 23 views
8

私はPythonを組み込んだC++アプリケーションを持っています。私は、Visual Studio 2005でビルドしています。python26.libにリンクしようとすると、「__imp」で始まる未解決のシンボルがいくつか表示されます。Visual Studio 2005のPythonインポートライブラリにリンクする

エラーLNK2019:未解決の外部シンボル__imp__Py_Initializeは関数で参照されています_main

python26.libは、Python 2.6インストーラによってインストールされるインポートライブラリです。これらのシンボルを解決するにはどうすればよいですか?それらはインポートライブラリに存在します(dumpbin/allはそれらを示します)。ありがとう。

答えて

10

64ビットPythonライブラリを32ビットアプリケーションにリンクしようとしていたようです。私はリンカが「未解決のシンボル」以外の何かを教えてくれることを望みます。 32ビットライブラリにリンクすると、問題が解決されます。

2

C:\WINDOWS\system32\python26.dllを参考にしてください。 python26.libには、メインDLLのシンボル名が含まれています。

+1

私はあなたがdllに直接リンクするのではなく、対応する.libにリンクすると考えていました。私がpython26.dllに直接リンクしようとすると、リンカエラー(LNK1107:無効または破損したファイル)が表示されます。 MSDNによると、.objではなくリンカーにdllを渡すと、このエラーが発生する可能性があります。 – user76293

関連する問題