2011-12-01 155 views
0

我在VisualStudio 2008中使用libpng包來讀取png圖像,我的程序必須使用libpng12.dll。我把libpng12.dll放在Windows \ System32和Windows \ SysWOW64中,並且想用regsvr32.exe來註冊它,但它不起作用,所以我的程序也無法使用它。我該如何解決它?先謝謝你!libpng12.dll與Win7(64位)不兼容?

+0

你確定DLL需要註冊嗎? –

+2

regsvr32.exe只能用於COM組件。普通的dll不需要(也不能)使用regsvr32.exe進行註冊。 – fefe

+2

請不要,我再說一遍,不要搞亂Windows系統文件夾 - 這是衆所周知的DLL地獄情況的原因。只需將dll放在可執行文件所在的文件夾中即可。不要忘記,在需要libpng12.dll的不同版本的計算機上可能安裝了其他應用程序。 –

回答

0

DLL必須匹配EXE的位寬。一個64位的EXE只能使用64位的DLL,一個32位的EXE只能使用32位的DLL。 (禁止進程外的COM組件,但在這裏沒有關係)。

順便說一句,解決DLL問題的常用工具是Dependency Walker