Возможно ли это, и если да, то как правильно с этим справиться?
Вот упрощенный пример того, что я думаю. пытаюсь достичь:
Код: Выделить всё
// Header file (in DLL A)
extern int MyFunction(); // Declaration without a body
Код: Выделить всё
// Source file (in DLL B)
int MyFunction() {
return 42; // Actual implementation
}
Что я пробовал?
Я объявил функцию как extern в одной DLL, не предоставляя тело, и попытался определить ее в другой DLL. Я ожидал, что компоновщик разрешит функцию в процессе сборки.
Чего я ожидал?
Я ожидал, что функция будет корректно разрешаться в разных DLL, что позволит связать объявление в одной DLL с определением в другой.
Что на самом деле произошло?
Однако компоновщик выдал ошибку, указывающую, что функция не найдена, хотя я определил ее в другой DLL. Я не уверен, что пропустил конкретный шаг настройки для перекрестного связывания DLL.
Подробнее здесь: https://stackoverflow.com/questions/790 ... -then-defi