Как связать статическую библиотеку в Visual C ++ 2008?

Мое решение VC ++ включает в себя два проекта, приложение (exe) и статическую библиотеку.

Оба компилируются нормально, но не могут связать. Я получаю ошибку «неразрешенный внешний символ» для каждой функции из используемой статической библиотеки. Они выглядят так:

MyApplication.obj: ошибка LNK2019: неразрешенный внешний символ «__declspec (dllimport) int __cdecl MyStaticLibrary :: accept (int, struct sockaddr *, int *)»

Приложение находит .lib просто отлично, так что это не проблема. Я думаю, что проблема заключается в «dllimport» - почему это происходит, когда я пытаюсь создать статическую библиотеку? И приложение, и библиотека используют библиотеку времени выполнения "Многопоточная (/ MT)", а не "Многопоточная DLL (/ MD)".

РЕДАКТИРОВАТЬ:

Я думаю, что некоторые ответы верны. Библиотека, которая называется UDT, имеет это в главном заголовочном файле:

#ifdef UDT_EXPORTS
   #define UDT_API __declspec(dllexport)
#else
   #define UDT_API __declspec(dllimport)
#endif

Означает ли это, что он не предназначен для использования в качестве статической библиотеки?

Ответы на вопрос(3)

Ваш ответ на вопрос