Линковщик выдаёт ошибку undefined reference to '_imp__lib_test@8'. Если использовать nm то можно найти что в библиотеке есть функция _imp__lib_test но она без @8. Может ли это быть причиной undefined reference и если да то как избавиться от @8
func@Х это формат VC/VC++/mingw для C функций __stdcall с общим размером аргументов равным 8 байтам.
Причина это защита от stack corruption так как stdcall должен очищать stack а в cdecl это должен делать то кто вызвал процедуру.
В вашем случае возможно эта защита и срабатывает, если в DLL функция cdecl (по умолчанию будет без типа вызова) a в коде программы она определена с stdcall/WINAPI.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей