Hello,
i want to use mysql in JUCE (plugin) for the scool. However, I can only integrate the mysql folder in VST3, so I cannot make queries in PluginEditor.cpp. I downloaded mysql-connector and mysql-for-visualStudio. And have this involved. In the EQ_ShareCode on properties there is no selector “Linker” so I cannot integrate mysql either.
I also tried to download this package with NuGet, but I cannot download a certain package.
Is there another way to include mysql in EQ_ShareCode?
Another possibility would be to create a SQL.cpp and SQL.h file in the EQ_VST3 folder and to query it from there.
Unfortunately I don’t know how to use the value of a variable from SQL.cpp in PluginEditor.cpp. Even if I
create a function in SQL.cpp and use it in PluginEditor.cpp an error occurs
(ERROR: Reference to unresolved external symbol “” int_cdecl mainSQL (void) “(? MainSQL @@ YAHXZ) in function” “public: void_cdecl EQAudioProcessorEdior :: resize (void)” (? Resized @ EQAudioProcessorEditor @@ UEAAXXZ))
Integrating SQL is a bit of a funky ride. If possible, you might want to consider integrating SQL Lite into your project instead as there’s an effort to provide an amalgamated package of it: SQLite Download Page
JUCE doesn’t provide integrating projects with NuGet. That being said, I sense some confusion because NuGet is intended for C#/.NET apps (at least to my knowledge!).
is it also possible to use the sqlite framework to connect to the mysql database?
Or do I have to create a database with sqlite to connect to it?
I have already created a website where I create, read and update the database users with php. I used mysql for that. Otherwise I have to recreate the database with sqlite and I also have to recreate the php file
You almost definitely want the MySQL library as a dependency of your sharedcode target not the vst3 target since your editor is in the sharedcode target. In cmake that happens if you make sql a lib dependency of your main plugin but don’t know what environment you are using,
I’m still quite a beginner when it comes to programming. I just geoogleted what CMake files are, how I understood that you can edit files (programs). But how do you make the SharedCode file into the main plug-in so that I can integrate the mysql into it?
When you edit the project, instead of clicking proprties on the Project EQ_VST3 you open the properties of EQ_SharedCode. That’s the whole secret.
The other targets will include all contents of EQ_SharedCode indirectly, that’s why you would add common things there. And juce makes sure that all you need to worry about is in SharedCode.
I actually only created two files and named them SQL.cpp and SQL.h. I created these files in VST3 because that is the only place of the three where I can integrate mysql
When I go to properties in EQ_VST3 there is a selector called “Linker”, but when I go to EQ_ShareCode
Go to properties the “Linker” selector is not available. I would need the selector “Linker” to include mysql, unless there is another way to include mysql
Ok I see. The SharedCode doesn’t produce a binary itself, so it doesn’t get linked.
You should still add your code the SQL.h and SQL.cpp in the SharedCode (even better add them in the Projucer! because the project files will get overwritten whenever you save in the Projucer).
The include path goes into the compiler settings of SharedCode, but the library and the library path go in all targets, i.e. EQ_Standalone and EQ_VST3.
The best way is to add the paths into Projucer, like mentioned before. To do so click on your exporter and add the library in the field “Extra libraries”, the header path in “Additionall Include Paths” and the linker path as well. Then save the project in Projucer and make sure VisualStudio reloads the project.
Yes that’s a fundamental point too. With juce your visual studio project snd so on are transient things which are a result of a build with projucer or more recently cmake. So don’t edit your visual studio file directly but rather modify your projucer or cmake settings accordingly
I have a quick question
I have created an application to test whether the SQL script works.
As I said, I have several errors. I found out why, for this I deleted the “Additional dependencies” in my sample SQL script. So the same errors have come. Sorry that I have the language in German. I’m here in Properties-> Configuration Properties-> Linker-> Input
My only question would be how do I add these additional dependencies in JUCE.
About the error: (reference to unresolved external symbol “mysql_error” in function resized) instead of “mysql_error” are “mysql_init”, “mysql_real_connect”, “mysql_query” and “mysql_store_result”
Thank you that should work like this. But if I could still ask, the debugger says “No more available memory in heap” (Files from BinaryData * .cpp) should I delete these BinaryData files and have them debugged again?
I was able to get the include files working however, I’m having missing symbols?
I tried boost, aswell, but it seems I have to properly link the library.
Does anybody know how to properly link the library or libs64?