【问题标题】:Can not install DBD-mysql in Win8.1Win8.1无法安装DBD-mysql
【发布时间】:2015-01-04 07:01:08
【问题描述】:

我在win8环境下安装DBD-mysql,但是报错如下。

我使用 ActivePerl 5.10,mysql 5.5。谁能帮帮我?

事实上,我不想从源代码安装。但是要找到一个ppm的包并不容易。

如果不添加某些系统路径,则很容易处理。但是这个错误显示需要一些windows库,然后我真的不知道如何设置以及在哪里设置,因为这意味着我应该更改DBD-mysql的源代码?但是每次我使用'perl -MCPAN -e "install DBD::mysql" '命令安装时,都会下载一个新的DBD-mysql包,所以即使我在本地修改了代码,也没有用。

   Creating library blib\arch\auto\DBD\mysql\mysql.lib and object blib\arch\auto
\DBD\mysql\mysql.exp
mysqlclient.lib(handshake_client.obj) : error LNK2019: unresolved external symbo
l __imp__InitializeSecurityContextW@48 referenced in function "public: virtual c
lass Blob __thiscall Handshake_client::process_data(class Blob const &)" (?proce
ss_data@Handshake_client@@UAE?AVBlob@@ABV2@@Z)
mysqlclient.lib(handshake.obj) : error LNK2019: unresolved external symbol _Comp
leteAuthToken@8 referenced in function "protected: bool __thiscall Handshake::pr
ocess_result(int)" (?process_result@Handshake@@IAE_NH@Z)
mysqlclient.lib(handshake.obj) : error LNK2019: unresolved external symbol _Free
ContextBuffer@4 referenced in function "public: void __thiscall Security_buffer:
:free(void)" (?free@Security_buffer@@QAEXXZ)
mysqlclient.lib(handshake.obj) : error LNK2019: unresolved external symbol _Acqu
ireCredentialsHandleA@36 referenced in function "public: __thiscall Handshake::H
andshake(char const *,enum Handshake::side_t)" (??0Handshake@@QAE@PBDW4side_t@0@
@Z)
mysqlclient.lib(handshake.obj) : error LNK2019: unresolved external symbol __imp
__DeleteSecurityContext@4 referenced in function "public: virtual __thiscall Han
dshake::~Handshake(void)" (??1Handshake@@UAE@XZ)
mysqlclient.lib(handshake.obj) : error LNK2019: unresolved external symbol __imp
__FreeCredentialsHandle@4 referenced in function "public: virtual __thiscall Han
dshake::~Handshake(void)" (??1Handshake@@UAE@XZ)
mysqlclient.lib(common.obj) : error LNK2019: unresolved external symbol _GetUser
NameExW@12 referenced in function "public: __thiscall UPN::UPN(void)" (??0UPN@@Q
AE@XZ)
blib\arch\auto\DBD\mysql\mysql.dll : fatal error LNK1120: 7 unresolved externals

NMAKE : fatal error U1077: 'C:\Perl\bin\perl.exe' : return code '0x1'
Stop.
  CAPTTOFU/DBD-mysql-4.028.tar.gz
  nmake -- NOT OK

【问题讨论】:

    标签: mysql perl perl-module dbd


    【解决方案1】:

    最后,我解决了。环境首先要注意:Win8.1 + ActivePerl 5.16 + Mysql 5.5。

    1) 打开windows命令行,运行:

    set path=%path%;D:\Program Files (x86)\MySQL\MySQL Server 5.5\bin
    

    2) 配置mysql数据库,添加一个UserName='ODBC'的新用户,密码设置为NULL。

    3) cd 进入:

    D:\Program Files (x86)\MySQL\MySQL Server 5.5\lib
    

    并创建一个子目录作为“opt”;

    4) 安装草莓perl,将libmysql.a和libmysql_.dll复制到

    D:\Program Files (x86)\MySQL\MySQL Server 5.5\lib\opt;
    

    5) 卸载草莓;

    6) 设置路径=%path%;D:\Program Files (x86)\MySQL\MySQL Server 5.5\lib\opt

    7) 在同一命令行控制台中运行命令:

    perl -MCPAN -e "install DBD::mysql"
    

    现在一切正常。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-06-27
      • 1970-01-01
      • 2012-01-01
      • 1970-01-01
      • 2011-06-11
      • 1970-01-01
      • 2013-06-13
      相关资源
      最近更新 更多