Народ, помогите пожалуйста. Не могу понять в чем дело.
Visual C++.NET v.7.1
Приложение Win32 — Dynamic Library (.dll)
Есть файл My.lib, нужно его подключить.
В настройках проекта пишу:
Linker -> General -> Additional Library Directories = "Полный путь к My.lib"
Linker -> Input -> Add Module to Assembly = My.lib
В *.cpp проекта подключаю *.h, которая требуется My.lib.
Но при вызове ф-ий из My.lib, например:
#include "My.h"
extern "C" BOOL CALLBACK InitCR(...);
...
BOOL CALLBACK InitCR(...)
{
...
ConnectDevice(...);
...
}
...
появляется ошибка линкера:
error LNK2019: unresolved external symbol "unsigned long __stdcall ConnectDevice(unsigned int,enum SENDER_TYPE,unsigned long,char const * const,unsigned long * const,unsigned short * const)" (?ConnectDevice@@YGKIW4SENDER_TYPE@@KQBDQAKQAG@Z) referenced in function _InitCR@4
СКАЖИТЕ, ЧЕГО ЕЩЕ НАДО СДЕЛАТЬ?
Спасибо.
Здравствуйте, Andrbig, Вы писали:
A>Ты уверен, что не напутал с extern C у ConnectDevice? Судя по ошибке, линкер ищет C++-style функцию.
Так, я же [extern C] не для ConnectDevice(), а для InitCR() пишу, чтобы ей потом из другого приложения(тестового) пользоваться. Хотя... ConnectDevice() в InitCR() находится... блин. Но все равно не выходит
A>Если не поможет, выкладывай .lib, .h и .c, дабы можно было попробовать.
Я прикрепил rar-чик, посмотрите пожалуйста.
http://www.rsdn.ru:80/File/43494/CardReader-3k5.rar