There are two tests, One for the LibraryFunction Load and one for
Here is the output for LibraryFunctionLoad:
In[11]:=
$LibraryPath =
Prepend[$LibraryPath,
"C:\Users\Tom\OneDrive\Documents\Visual Studio \
2015\Samples\librarylinktest\x64\Release\librarylinktest\"];
In[8]:= FindLibrary["librarylinktest"]
Out[8]= "C:\Users\Tom\OneDrive\Documents\Visual Studio \
2015\Samples\librarylinktest\x64\Release\librarylinktest\\
librarylinktest.dll"
In[9]:= linktst =
LibraryFunctionLoad["librarylinktest",
"incrementInteger", {Integer}, Integer]
During evaluation of In[9]:= LibraryFunction::libload: The function incrementInteger was not loaded from the file C:\Users\Tom\OneDrive\Documents\Visual Studio 2015\Samples\librarylinktest\x64\Release\librarylinktest\librarylinktest.dll. >>
Out[9]= $Failed
In[10]:= fun =
LibraryFunctionLoad["librarylinktest", "demoII", {Integer},
Integer];
During evaluation of In[10]:= LibraryFunction::libload: The function demoII was not loaded from the file C:\Users\Tom\OneDrive\Documents\Visual Studio 2015\Samples\librarylinktest\x64\Release\librarylinktest\librarylinktest.dll. >>
Here is the c code:
pragma once
DLLEXPORT mint WolframLibrary_getVersion() {
return WolframLibraryVersion;
}
DLLEXPORT int WolframLibrary_initialize(WolframLibraryData libData) {
return LIBRARYNOERROR;
}
DLLEXPORT void WolframDLL_uninitialize() {
return;
}
DLLEXPORT int incrementInteger(WolframLibraryData libData, mint Argc, MArgument * Args, MArgument Res) {
mint I0;
mint I1;
I0 = MArgument_getInteger(Args[0]);
I1 = I0 + 1;
MArgument_setInteger(Res, I1);
return LIBRARYNOERROR;
}
DLLEXPORT int demoII(WolframLibraryData libData, mint Argc, MArgument *Args, MArgument Res) {
mint I0;
mint I1;
I0 = MArgument_getInteger(Args[0]);
I1 = I0 + 1;
MArgument_setInteger(Res, I1);
return LIBRARYNOERROR;
}
I am using a precompiled header that includes WolframLibrary.h (otherwise it would not compile.