Ich dreh langsam durch, ich bekomme es einfach nicht gebacken die Funktionen überhaupt anzusprechen. Nichtmal eine simple Zuweisung will funktionieren :(.
Hier mal der Versuch eines Testcases um eine AVS Scriptumgebung zu erstellen und einer simplen Abfrage ob eine Filterfunktion vorhanden ist.
Ich beziehe mich dabei auf die C-Funktionen aus dieser API-Doku (die natürlich auch mit denen in der avisynt_c.h identisch sind).
#include <iostream>#include <avisynth_c.h>using namespace std;int main() {// Einen Pointer auf eine AVS Scriptumgebung anlegen --> kompiliert (Der Wahnsinn)AVS_ScriptEnvironment *scriptumgebung;// Funktion um eine Scriptumgebung zu erstellen:// AVS_ScriptEnvironment * avs_create_script_environment(int version);// Umgebung auf den Pointer legen (schon ein Compiler Error)scriptumgebung = avs_create_script_environment(AVISYNTH_INTERFACE_VERSION);// Funktion um das Vorhandensein einer AVISynth-Funktion abzurufen (glaube ich zumindest):// int avs_function_exists(AVS_ScriptEnvironment *, const char * name)// In diesem Falle als Beispiel "mpeg2source()".if (avs_function_exists(scriptumgebung, "mpeg2source"))cout << "mpeg2source da";cout << "mpeg2source nicht da";return 0;}
Die Zuweisung der Umgebung auf die variable quittiert der Compiler schon mit
Das deutet normalerweise immer auf eine fehlende Bibliothek hin.
Ich hab die avisynth.dll auch garnicht eingebunden, weil ich der Meinung bin, das die durch die avisynth_c.h schon integriert ist.
Muß ich die dll etwa doch zusätzlich nochmal laden?
Wenn ja, warum klappt dann das Anlegen der pointer-Variablen?
Was läuft denn da nun schon schief?
greets
LTJ