Мини инструкция, т.к. потратил пару часов на разрозненной информации. Библиотека. Обязательно пишем extern "C". Если не указать, то компилятор добавит символы к имени и функция dsym не найдет ничего. #ifdef WINDOWS #define EXPORT extern "C" __declspec(dllexport) #else #define EXPORT extern "C" //__attribute__((visibility ("default"))) #endif // WINDOWS EXPORT int Add(int a, int b) { return a + b; } Программа в которой загружаем библиотеку #ifdef WINDOWS #define IMPORT __declspec(dllimport) IMPORT int Add(int a, int b); #else #define IMPORT #include <dlfcn.h> #endif // WINDOWS #include "TestLinuxSharedLib.h" using namespace std; int main() { #ifndef WINDOWS void* handle; int (*cosine)(int,int); //void* cosine; char* error; handle = dlopen("./libMySharedLib.so", RTLD_NOW); if (!handle) { cout << "no...