As per your suggestion will remove the VC environment setting and try with Mingw
If you want to use a mingw compiler with a perl built by MSVC++, then you should install ExtUtils::FakeConfig. Run
cpan -i ExttUtils::FakeConfig .
However, it has been at least 10 years since I've used that module, and I don't know if it's still fit for purpose.
Then, whenever you want to use the mingw compiler, you just set the PERL5OPT environment variable to
-MConfig_m :
set PERL5OPT=-MConfig_m
You might be better off just persevering with your VC++ compiler.
It's hard for me to tell.
This command (from your first post) looks wrong to me:
perl Makefile.PL --cflags=-IC:\mysql\include --libs="-LC:\mysql\lib -l
+mysqlclient" --testdb=vms --testuser=root --testpassword=cisco@123 --
+testhost=127.0.0.1 --testport=3306
Usually you would have:
perl Makefile.PL INC=-IC:\mysql\include LIBS="-LC:\mysql\lib -lmysqlcl
+ient" ....
That should at least make the MySQL headers and libraries locatable if they are in fact located where you're saying they are. Does C:/mysql/lib/mysqlclient.lib exist ?
(I don't know about the remaining arguments. Is there documentation that's telling you to provide these arguments in these ways ?)
Maybe just try starting with a plain
perl Makefile.PL. That's what Strawberry Perl does:
>perl Makefile.PL
I will use the following settings for compiling and testing:
cflags (mysql_config ) = -IC:\_32\strawberry5.24.0_32int\c\bin
+\..\include\mysql_5
libs (mysql_config ) = -LC:\_32\strawberry5.24.0_32int\c\bin
+\..\lib -lmysql
mysql_config (guessed ) = mysql_config
testdb (User's choice) = test
testhost (default ) =
testpassword (User's choice) =
testport (default ) =
testsocket (default ) =
testuser (User's choice) =
To change these settings, see 'perl Makefile.PL --help' and
'perldoc DBD::MariaDB::INSTALL'.
Checking if libs and header files are available for compiling...
Checking if correct version of MariaDB or MySQL client is present...
Looks good.
Embedded server: not supported by client library
Client library deinitialize OpenSSL library functions: no
Using DBI 1.636 (for perl 5.024000 on MSWin32-x86-multi-thread) instal
+led in C:/_32/strawberry5.24.0_32int/perl/vendor/lib/auto/DBI/
Generating a dmake-style Makefile
Writing Makefile for DBD::MariaDB
"\x{0159}" does not map to cp850 at C:/_32/strawberry5.24.0_32int/perl
+/lib/ExtUtils/MakeMaker.pm line 1269.
"\x{0159}" does not map to cp850 at C:/_32/strawberry5.24.0_32int/perl
+/lib/ExtUtils/MakeMaker.pm line 1269.
"\x{0159}" does not map to cp850 at C:/_32/strawberry5.24.0_32int/perl
+/lib/ExtUtils/MakeMaker.pm line 1269.
Writing MYMETA.yml and MYMETA.json
Cheers,
Rob