Добрый вечер.
Проблема заключается в следующем.
Для скомпилированной библиотеки при попытке запустить её функцию (GetProcAddress) выдает ошибку 3 (ERROR_PATH_NOT_FOUND). Библиотека открывается (LoadLibrary).
Qt3.3.3, Microsoft VS 2003.
Вот код библиотеки:
//#ifdef __cplusplus
extern "C" {
//#endif
#ifdef WIN32
__declspec(dllexport)
#endif
int mail_for_docflow_new(char *FullHtmFileName, ADDRLIST *PreAddrList)
{
//int mail_so_new(char *FullHtmFileName, NULL, ADDRLIST *PreAddrList);
#ifdef _test_pr
cout << "mail_for_docflow_new()" << endl;
#endif
return 0;
}
//#ifdef __cplusplus
}
//#endif
Вот запускающий код:
#ifdef WIN32
HINSTANCE dll = LoadLibrary(L"mail_forDocflow.dll");
#else
void *dll = dlopen("../lib/libmail_forDocflow.so", RTLD_LAZY);
#endif
int (*p)(char *FullHtmFileName, ADDRLIST *PreAddrList);
if (dll != NULL)
{
fprintf(stderr, "IDDB=%d\n", IDDB);
#ifdef WIN32
p = (int (*)(char *FullHtmFileName, ADDRLIST *PreAddrList))GetProcAddress(dll, "mail_for_docflow_new");
#else
p = (int (*)(char *FullHtmFileName, ADDRLIST *PreAddrList))dlsym(dll, "mail_for_docflow_new ");
#endif
#ifdef WIN32
fprintf(stderr,"GetLastError()= %d\n", GetLastError());
#else
fprintf(stderr,"dlerror()= %s\n", dlerror());
#endif
}