Меня интересуют решения по приведенному ниже вопросу для Linux и Windows, GCC, MinGW и MSVC (если возможно).
У меня есть приложение, которое я написал, которое поддерживает импорт пользовательских общих библиотек (добавление модулей). Приложение сканирует каталог, находит файлы * .dll или * .so и динамически загружает их во время выполнения.
Пока что все пользовательские модули полностью состоят из самодостаточного кода. То есть объектные файлы, составляющие DLL / SO, не дали неполных ссылок с точки зрения компоновщика.
Нет. Я хочу разрешить модулям использовать функции, скомпилированные в объектные файлы, которые составляют двоичное приложение, импортирующее эти модули. Другими словами, Я хочу разрешить им использовать часть кода моей библиотеки без необходимости компилирования в саму DLL / SO. К сожалению, на этапе компоновки при сборке DLL / SO это не удается с жалобой на наличие неразрешенных символов.
Возможно ли это?