>>>Виндозная модель линковки такого не позволяет, насколько я помню.
>>
>>В mingw или вообще?
>
>Вообще.
>
>>P.S.: просто ужасно... Проэкт завязан на эту фичу. Как примитивно в винде!
>>Как теперь это обруливать даже и не знаю...
>
>LoadLibrary() + GetProcAddress() - аналог dlopen() + dlsym() В моём случае код функции находится в главной программе, которая загружет эту либу. Т.е. получается загружать некого, т.к. код уже загружен. Или загружать код бинарника?
Проблема даже на этапе компиляции - просто не собирается.
Нашёл одно из решений:
1) Все экспортируемые функции обявить с __declspec(dllexport) (в exe-шнике)
2) Использовать с __declspec(dllimport) (в dll-ке)
3) Сгенерить для exe-шника библиотеку импорта (ld --out-implib <file>)
4) Мспользрвать эту библиотеку при сборки dll-ки.
Да, для последних линкеров можно протустить 3-ий шаг, а на
4-ом подсунуть в качестве библиотеки сам exe-шник.
Но конечно же интересно иметь набор решений.