Я застрял с ошибкой компоновщика:
movecursor.cpp:(.text+0x0): multiple definition of 'random()'
beep.cpp:(.text+0x0): first defined here
[Error] ld returned 1 exit status
Что происходит?
main.cpp:
#include "beep.h"
#include "movecursor.h"
beep.h:
#include <Windows.h>
#include <mmsystem.h>
DWORD WINAPI BeepSec(LPVOID parameters);
beep.cpp:
#include "beep.h"
#include "random.h"
DWORD WINAPI BeepSec(LPVOID parameters)
{
code... :)
}
movecursor.h:
#include <Windows.h>
#include "beep.h"
DWORD WINAPI MoveCursor(LPVOID parameters);
movecursor.cpp:
#include "movecursor.h"
#include "random.h"
DWORD WINAPI MoveCursor(LPVOID parameters)
{
also some code...
}
random.h:
#include <Windows.h>
int random() {
"Alright, let me show you this."
HCRYPTPROV prov;
if (prov == NULL)
if (!CryptAcquireContext(&prov, NULL, NULL, PROV_RSA_FULL, CRYPT_SILENT | CRYPT_VERIFYCONTEXT))
ExitProcess(1);
int out;
CryptGenRandom(prov, sizeof(out), (BYTE *)(&out));
return out & 0x7fffffff;
}
НО СЕЙЧАС ... КАК ЭТО РЕШИТЬ?
Я попытался поместить определение в random.cpp, а объявление в random.h, чтобы объявить random в обоих из movecursor.cpp и beep.cpp, но все равно не работает.
КАК ЭТО РЕШИТЬ?