unresolved external при использовании моего аллокатора
От: lol4ever  
Дата: 27.09.06 14:03
Оценка:
Надо: скормить CHeapPtr свой аллокатор следующего содержания:
#pragma once
#include <Wincrypt.h>

class CCryptAllocator
{
public:
    static void* Reallocate(void* p, size_t nBytes) throw()
    {
        return CryptMemRealloc(p, static_cast<ULONG>(nBytes));
    }
public:
    static void* Allocate(size_t nBytes) throw()
    {
        return ::CryptMemAlloc(static_cast<ULONG>nBytes);
    }
public:
    static void Free(void* p) throw()
    {
        CryptMemFree(p);
    }
};


Проблема: а он его не ест! Причем не ест следующим образом:
CryptoModule.obj : error LNK2019: unresolved external symbol __imp__CryptMemFree@4 referenced in function "public: static void __cdecl CCryptAllocator::Free(void *)" (?Free@CCryptAllocator@@SAXPAX@Z)
CryptoModule.obj : error LNK2019: unresolved external symbol __imp__CryptMemAlloc@4 referenced in function "public: static void * __cdecl CCryptAllocator::Allocate(unsigned int)" (?Allocate@CCryptAllocator@@SAPAXI@Z)
Debug\EosCryptoSvc.exe : fatal error LNK1120: 2 unresolved externals


Что я делаю не так? Почему он не ругается на CryptMemRealloc?
Re: unresolved external при использовании моего аллокатора
От: denaturat  
Дата: 28.09.06 05:38
Оценка:
Э-э-э... aus PSDK:

Client Requires Windows XP, Windows 2000 Professional, Windows Me, or Windows 98.
Server Requires Windows Server 2003 or Windows 2000 Server.
Header Declared in Wincrypt.h.

Library Link to Crypt32.lib.

DLL Requires Crypt32.dll.

Re[2]: unresolved external при использовании моего аллокатор
От: lol4ever  
Дата: 28.09.06 12:03
Оценка:
Здравствуйте, denaturat, Вы писали:

D>Э-э-э... aus PSDK:

D>

D>Client Requires Windows XP, Windows 2000 Professional, Windows Me, or Windows 98.
D>Server Requires Windows Server 2003 or Windows 2000 Server.
D>Header Declared in Wincrypt.h.

D>Library Link to Crypt32.lib.

D>DLL Requires Crypt32.dll.


И? Так и не понял, в чем дело? Все либки, все есть. Просто так функции, если их вызывать из другого класса, замечательно работают... А тут такая вот бяка
Re[2]: unresolved external при использовании моего аллокатор
От: McQwerty Россия  
Дата: 29.09.06 16:48
Оценка:
Здравствуйте, denaturat, Вы писали:

D>Э-э-э... aus PSDK:

D>

D>Client Requires Windows XP, Windows 2000 Professional, Windows Me, or Windows 98.
D>Server Requires Windows Server 2003 or Windows 2000 Server.
D>Header Declared in Wincrypt.h.

D>Library Link to Crypt32.lib.

D>DLL Requires Crypt32.dll.


#pragma comment (lib, "crypt32.lib")
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.