Якщо *.so файл в системній директорії:
gcc -o myProgramName myProgramName.o -ldllName
Якщо ні:
gcc -o myProgramName myProgramName.o -L/path/to/my/library/folder -ldllName
Якщо виникає runtime помилка і не знаходить бібліотеку, то:
LD_LIBRARY_PATH=path/to/my/library/folder -ldllName
Статичне підключення:
...
#include "dllName.h"
int main()
{
...
// some code
...
}
// далі, як згадано вище - gcc ... -ldllName
Динамічне (приклад з інтернету):
#include <stdio.h>
#include <stdlib.h>
#include <dlfcn.h>
int main(int argc, char **argv)
{
void *handle;
double (*cosine)(double);
char *error;
handle = dlopen ("libm.so", RTLD_LAZY);
if (!handle)
{
fprintf (stderr, "%s\n", dlerror());
exit(1);
}
dlerror(); /* Clear any existing error */
cosine = dlsym(handle, "cos");
if ((error = dlerror()) != NULL)
{
fprintf (stderr, "%s\n", error);
exit(1);
}
printf ("%f\n", (*cosine)(2.0));
dlclose(handle);
return 0;
}