Solved Mysql not defined when compiling mysql driver
-
@MEMekaniske Thanks a lot! That works now.
It turns out that it is mylibmysql.dll
file that was not working.
I did different test and I figured out that if I just replace this file by the one provided in the link and keeping all other dll as I built them, it works.
I found mylibmysql.dll
file in the installation folder of my mysql serverC:\Program Files\MySQL\MySQL Server 8.0
. Any idea of what could be wrong about this one? -
That is good :)
Ok, only thing I can think of then is that the MySQL Server 8.0 installed is for a different architecture and cannot be used with amd64, maybe if you just download and install the versions that can be installed on your architecture and try with each of them to see if there is any difference.
If not, I guess it is a bug for the mysql community/support to take a look at
-
@Thombou said in Mysql not defined when compiling mysql driver:
I did different test and I figured out that if I just replace this file by the one provided in the link and keeping all other dll as I built them, it works.
Did you check that the arch matches between the plugin and the client library? I'd hazard a guess that's what was wrong. Anyway, as you have it solved it wouldn't matter that much.
-
@kshegunov What do you call the client library? The
libmysql.dll
? -
@Thombou said in Mysql not defined when compiling mysql driver:
What do you call the client library? The libmysql.dll?
Yes!
-
@kshegunov I downloaded it from here https://dev.mysql.com/downloads/windows/installer/8.0.html.
As it is installed in theProgram Files
and not theProgram Files (x86)
directory I'd say it's 64bits...
Plus, this is what I installed so:
-
@Thombou It says X64 under the architecture tab so should be the correct version.
-
Also, if you go into the "Add" tab, then expand MySQL Servers, then expand MySQL Server, then choose MySQL Server 8.0 you get the option to choose the availiable architectures :)
-
Yes that's what I di not understand. it seems that I have the correct version but a wrong version of the
libmysql.dll
... Anyway, i hope that it is fixed now, and that I won't have other surprises like that later on.
Thank you very much for your help! It is much appreciated! -
@Thombou Yeah it is very frustrating.. hope all goes well with the next version!
Glad i could help :) -
Shall I report a bug somewhere of shall I suppose the problem is on my side?
-
@Thombou said in Mysql not defined when compiling mysql driver:
Shall I report a bug somewhere of shall I suppose the problem is on my side?
The latter. (And don't feel bad, it happens all the time, that's why this user forum exists)
-
@kshegunov Ok that's what I thought too :) haha. It's by doing that we learn!
Cheers :) -
For those who are interested, I opened the 2 dlls with the dependancy walker. It turns out that the dll provided by mysqlserver required 2 additional dlls
LIBSSL-1_1X64.DLL
andLIBCRYPTO-1_1-x64.DLL
which were not found. In the dll file that if working, those 2 additional dlls are not required. When placing those 2 DLLs in the folder of the executable everything works perfectly. This is the root cause of the problem. -
@Thombou very helpful information indeed! :)
What if you download those dlls to your exe lib and (there you did it already in the edit I see :p) hehe..
Very good, then you have complied the library successfully! Congratz :)