Попытка установить Image.Codec.DevIL под Windows. Нуждается в pthread и IL. Не могу заставить Ил работать - PullRequest
2 голосов
/ 14 февраля 2011

Это вывод из установки cabal codec-image-devil:

Resolving dependencies...  
Configuring Codec-Image-DevIL-0.2.3...  
cabal: Missing dependency on a foreign library:  
* Missing C library: IL  
This problem can usually be solved by installing the system package that  
provides this library (you may need the "-dev" version). If the library is  
already installed but in a non-standard location then you can use the flags  
--extra-include-dirs= and --extra-lib-dirs= to specify where it is.  
cabal: Error: some packages failed to install:  
Codec-Image-DevIL-0.2.3 failed during the configure step. The exception was:  
ExitFailure 1  

Я пробовал --extra-include-dirs и --extra-lib-dirs. но они не работали. поэтому я отредактировал .cabal в Codec-Image-DevIL-0.2.3.tar.gz. Я не знаю, должен ли я вообще это изменить. но это работало на pthread.

Я добавил эти две строки:

include-dirs: C:\Users\Rumbold\Documents\libs\IL\include, C:\Users\Rumbold\Documents\libs\pthread\include, .  
extra-lib-dirs: C:\Users\Rumbold\Documents\libs\IL\lib, C:\Users\Rumbold\Documents\libs\pthread\lib, .  

Они имеют отступ, поэтому они находятся в разделе Library. Я не знаю, правильно ли я понял формат списков, просто кое-что, на что я наткнулся при поиске. Я думаю, что файлы libs и `header находятся в правильном месте.

какая-нибудь подсказка, как мне заставить его работать?

Edit_1:

Я получил его для работы с --extra-include-dirs и --extra-lib-dirs, поэтому мне больше не нужно редактировать клику. но IL все еще не работает. Есть ли способ узнать, какие файлы он ищет?

Wdit_2:

Хорошо, это работает. Мне пришлось переименовать DevIL.lib и DevIL.dll в libIL.lib и libIL.dll. (не уверен, что мне нужно было делать то и другое, но я так и сделал. сохранил их под старыми именами)

Edit_3:

Получение множества ошибок, таких как:

"cabal\Codec-Image-DevIL-0.2.3\ghc-6.12.3/libHSCodec-Image-DevIL-0.2.3.a(DevIL.o):fake:(.text+0x2379):
undefined reference to `ilGetInteger@4'"
...