Ошибка компоновщика VS2010, ищем .lib файла .dll - PullRequest
0 голосов
/ 05 марта 2012

Я создаю рабочую область Visual C ++ 6.0 в Visual Studio 2010, чтобы она обновляла некоторые зависимости

У меня есть все файлы и библиотеки DLL, которые он ищет, он создает, но затем не удается соединиться сэта ошибка

1>LINK : fatal error LNK1181: cannot open input file '\Projects\exe\CRelease/api.lib'

У меня есть api.dll, которую нужно собрать, но у меня нет версии .lib.и даже если бы я это сделал (например, если бы я каким-то образом преобразовал .dll в .lib), я бы не знал, где разместить его в структуре каталогов

как мне «исправить» это?

руководство приветствуется, спасибо

1 Ответ

1 голос
/ 05 марта 2012

Обычно api.dll будет иметь сопровождающую библиотеку импорта с именем api.lib, на которую вам нужно сослаться. Библиотека импорта отличается от статически скомпилированной версии api (которая также, вероятно, будет называться api.lib) - это больше похоже на список доступных функций, предоставляемых библиотекой DLL, и поэтому обычно будет намного меньше, чем соответствующий статическая библиотека.

Если вы найдете или получите api.lib, на самом деле не имеет значения, где он живет, если к нему может обратиться ваш компоновщик.

Если вы не можете найти библиотеку импорта, вы ищете явное связывание во время выполнения, где api.dll явно загружается и выгружается в ваш код, а экспортируемые функции api вызываются через указатели на функции .

...