Использовать модуль CPAN BerkeleyDB в Windows 7 (64 бит)
Я безуспешно пытаюсь установить CPAN-модуль BerkeleyDB на ПК с Windows 7 (x86_64) (мне нужен BerkeleyDB::Hash). У меня установлена 64-битная версия ActivePerl и Oracle Berkeley DB 11gR2 5.3.15. Сначала я попытался установить с помощью команды:
*cpan install BerkeleyDB*
Это вернулось с ошибкой:
*It looks like the installation of dmake and MinGW has failed. You will not be
able to run Makefile commands or compile C extension code. Please check your
internet connection and your proxy settings!*
Поэтому я установил Microsoft Windows SDK для Windows 7 и.NET Framework 4.
Затем я установил cpanm
*cpan App::cpanminus*
И когда я попытался бежать:
*cpanm BerkeleyDB*
Я получил ошибку:
*Note (probably harmless): No library found for -llibdb
Note (probably harmless): No library found for bufferoverflowU.lib*
Поэтому я отредактировал файл config.in и изменил lib и включил пути к:
*INCLUDE = C:\PROGRA~2\Oracle\BERKEL~1.15\include
LIB = C:\PROGRA~2\Oracle\BERKEL~1.15\lib*
Теперь, когда я запустил perl makefile.pl, предупреждение о -llibdb ушло.
Когда я попытался бежать:
*nmake*
Я получил ошибки:
*Creating library blib\arch\auto\BerkeleyDB\BerkeleyDB.lib and object blib\arc
h\auto\BerkeleyDB\BerkeleyDB.exp
BerkeleyDB.obj : error LNK2001: unresolved external symbol __heap_exist
BerkeleyDB.obj : error LNK2001: unresolved external symbol db_version
BerkeleyDB.obj : error LNK2001: unresolved external symbol db_strerror
BerkeleyDB.obj : error LNK2001: unresolved external symbol db_env_create
BerkeleyDB.obj : error LNK2001: unresolved external symbol db_create
BerkeleyDB.obj : error LNK2001: unresolved external symbol db_sequence_create
blib\arch\auto\BerkeleyDB\BerkeleyDB.dll : fatal error LNK1120: 6 unresolved ext
ernals
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 10.0
\VC\Bin\amd64\link.EXE"' : return code '0x460'
Stop.*
Я почти потерял всякую надежду когда-либо успешно построить этот модуль на моем ПК. Кому-нибудь повезло с этим?
Большое спасибо,
SN
1 ответ
Все последующие претензии не проверены / не проверены. Компетентный совет доступен от #win32 в MagNET < irc://irc.perl.org/win32
> ( Веб-чат).
libdb требует исправления для 64-битной версии. Установка новой цепочки инструментов компилятора перед установкой зависимой библиотеки и ее заголовков усугубила проблему. Если у вас по-прежнему возникают проблемы со связыванием после установки исправления, удалите средства MS и повторите попытку с MinGW.