// aspr_api.h : Defines API functions.
//
#ifndef ASPR_API_H
#define ASPR_API_H
...
#ifdef __BORLANDC__
...
#else
extern "C" BOOL __stdcall GetRegistrationInformation( BYTE ModeId, char** Key, char** Name);
extern "C" char* __stdcall GetHardwareID();
extern "C" char* __stdcall GetHardwareIDEx( BYTE ModeID );
...
#endif
#endif
Ну и собственно код, попытался вычленить суть:
/*
* main_process.cxx
...
*/
...
#include "include/aspr_api.h"
#pragma comment(lib,"include/aspr_ide.lib")
...
//ниже типа глобальные переменные
char* UserInfo = "";
char* Key = "";
char* HardwareID = "";
char* OldHardwareID = "";
/////////////////////////////////////////////////////////////////////////////
class ProgaName : public PProcess
{
PCLASSINFO(ProgaName, PProcess)
public:
ProgaName();
void Main();
protected:
PBoolean Initialise();
};
PCREATE_PROCESS(ProgaName);
///////////////////////////////////////////////////////////////
ProgaName::ProgaName()
: PProcess("ProgaName", "BlaBlaBla",
MAJOR_VERSION, MINOR_VERSION, BUILD_TYPE, BUILD_NUMBER)
{
}
void ProgaName::Main()
{
HardwareID = GetHardwareIDEx(2);
OldHardwareID = GetHardwareID();
GetRegistrationInformation(0, &Key, &UserInfo);
...
Go To Definition/Go To Declaration - для всех 3-х функций в aspr_api.h перепрыгивает, т.е. видит
а компиляция выдает:
автор |
---|
1>..\main_process.cxx(189) : error C3861: 'GetHardwareIDEx': identifier not found 1>..\main_process.cxx(190) : error C3861: 'GetHardwareID': identifier not found 1>..\main_process.cxx(191) : error C3861: 'GetRegistrationInformation': identifier not found |
Если продублировать заголовки функций в .cxx файле (в правильности чего сомневаюсь)
...
extern "C" char* __stdcall GetHardwareID();
extern "C" char* __stdcall GetHardwareIDEx( BYTE ModeID );
extern "C" BOOL __stdcall GetRegistrationInformation( BYTE ModeId, char** Key, char** Name);
//ниже типа глобальные переменные
char* UserInfo = "";
...
, то имеем
1>Linking...
1>main_process.obj : error LNK2019: unresolved external symbol _GetRegistrationInformation@12 referenced in function "public: virtual void __thiscall ProgaName::Main(void)" (?Main@ProgaName@@UAEXXZ)
1>main_process.obj : error LNK2019: unresolved external symbol _GetHardwareID@0 referenced in function "public: virtual void __thiscall ProgaName::Main(void)" (?Main@ProgaName@@UAEXXZ)
1>main_process.obj : error LNK2019: unresolved external symbol _GetHardwareIDEx@4 referenced in function "public: virtual void __thiscall ProgaName::Main(void)" (?Main@ProgaName@@UAEXXZ)
Ну, т.е. мне надо получить HardwareID, OldHardwareID, Key, UserInfo через API определенные в aspr_api.h
дабы оперировать ими в ProgaName::Main()
Где косяк?