2010-03-23 78 views
0

我構建了空間庫,然後gdal庫與空間支持。還建立了取決於gdal成功的mapserver。鏈接沒有問題。Cygwin gdal庫加載錯誤

當我嘗試執行GDAL工具,我得到:

$ ogrinfo.exe 
/usr/local/bin/ogrinfo.exe: error while loading shared libraries: cyggdal-1.dll: cannot open shared object file: No such file or directory 

但一切似乎很動聽:

$ ldd /usr/local/bin/ogrinfo.exe 
     ntdll.dll => /cygdrive/c/WINDOWS/system32/ntdll.dll (0x7c900000) 
     kernel32.dll => /cygdrive/c/WINDOWS/system32/kernel32.dll (0x7c800000) 
     cyggdal-1.dll => /usr/local/bin/cyggdal-1.dll (0x710c0000) 
     cygcurl-4.dll => /usr/bin/cygcurl-4.dll (0x63d80000) 
     cyggcc_s-1.dll => /usr/bin/cyggcc_s-1.dll (0x67f00000) 
     cygwin1.dll => /usr/bin/cygwin1.dll (0x61000000) 
     ADVAPI32.DLL => /cygdrive/c/WINDOWS/system32/ADVAPI32.DLL (0x77dd0000) 
     RPCRT4.dll => /cygdrive/c/WINDOWS/system32/RPCRT4.dll (0x77e70000) 
     Secur32.dll => /cygdrive/c/WINDOWS/system32/Secur32.dll (0x77fe0000) 
     cygcrypto-0.9.8.dll => /usr/bin/cygcrypto-0.9.8.dll (0x6ba40000) 
     cygidn-11.dll => /usr/bin/cygidn-11.dll (0x6c200000) 
     cygiconv-2.dll => /usr/bin/cygiconv-2.dll (0x674c0000) 
     cygintl-8.dll => /usr/bin/cygintl-8.dll (0x6f5c0000) 
     cygssh2-1.dll => /usr/bin/cygssh2-1.dll (0x69ec0000) 
     cygz.dll => /usr/bin/cygz.dll (0x692c0000) 
     cygssl-0.9.8.dll => /usr/bin/cygssl-0.9.8.dll (0x63400000) 
     cygexpat-1.dll => /usr/bin/cygexpat-1.dll (0x66ec0000) 
     cyggeos_c-1.dll => /usr/bin/cyggeos_c-1.dll (0x70180000) 
     cyggeos-3-1-1.dll => /usr/bin/cyggeos-3-1-1.dll (0x4e0000) 
     cygjpeg-7.dll => /usr/bin/cygjpeg-7.dll (0x66e00000) 
     cygpng12.dll => /usr/bin/cygpng12.dll (0x6f200000) 

如果我的cyggdal-1.dll文件複製到當前文件夾:

$ ogrinfo.exe 
/usr/local/bin/ogrinfo.exe: error while loading shared libraries: ?: cannot open shared object file: No such file or directory 

那麼什麼是'?'圖書館?

$ ldd cyggdal-1.dll 
     ntdll.dll => /cygdrive/c/WINDOWS/system32/ntdll.dll (0x7c900000) 
     kernel32.dll => /cygdrive/c/WINDOWS/system32/kernel32.dll (0x7c800000) 
     ??? => ??? (0x710c0000) 
     ??? => ??? (0x63d80000) 
     ??? => ??? (0x67f00000) 
     ??? => ??? (0x61000000) 
     ??? => ??? (0x77dd0000) 
     ??? => ??? (0x77e70000) 
     ??? => ??? (0x77fe0000) 
     ??? => ??? (0x6ba40000) 
     ??? => ??? (0x6c200000) 
     ??? => ??? (0x674c0000) 
     ??? => ??? (0x6f5c0000) 
     ??? => ??? (0x69ec0000) 
     ??? => ??? (0x692c0000) 
     ??? => ??? (0x63400000) 
     ??? => ??? (0x66ec0000) 
     ??? => ??? (0x70180000) 
     ??? => ??? (0x4b0000) 
     ??? => ??? (0x66e00000) 
     ??? => ??? (0x6f200000) 

這是什麼「???」 ?如何解決這個問題呢?

+0

您是從源代碼構建這個程序嗎?如果是這樣,請說出你是如何構建它的。如果不是,那麼問題應該轉移到超級用戶,因爲它不會與開發相關。 – 2010-03-23 17:10:49

+0

我建造了它。雖然沒有錯誤,但可能與編譯有關。 – Erdem 2010-03-24 10:46:32

回答

0

我用cmd來執行該實用程序,它顯示了一個彈出式窗口,其名稱爲缺少dll。