Задать вопрос
@csar
c++

Как подключить библиотеку в Qt?

Всем доброго дня.
Пытаюсь в Qt 5 поработать с mhook библиотекой.
Код:
#include <windows.h>
#include <iostream>
#include "mhook-lib\mhook.h"


NTSTATUS (NTAPI * CurRtlQueryElevationFlags)(DWORD* pFlags) = NULL;

NTSTATUS NTAPI TimedRtlQueryElevationFlags(DWORD* pFlag)
{
    NTSTATUS ret = CurRtlQueryElevationFlags(pFlag);
    *pFlag = 0;
    return ret;
}

int main(int argc, char* argv[])
{
    CurRtlQueryElevationFlags = (NTSTATUS (NTAPI * )(DWORD* ))GetProcAddress(GetModuleHandle(L"ntdll.dll"), "RtlQueryElevationFlags");
    <b>if (Mhook_SetHook((PVOID*)&CurRtlQueryElevationFlags, (PVOID)TimedRtlQueryElevationFlags))</b>
        MessageBeep(MB_OK);

    if ((INT)ShellExecuteW(NULL, L"open", L"regedit.exe", NULL, NULL, SW_SHOWNORMAL) > 32)
    {
        printf("Success\n");
        return 0;
    }

    return 0;
}


Компилятор ругается - Undefined reference to "MHook_SetHook(void**,void*);

В чем ошибка? Спасибо.
  • Вопрос задан
  • 1369 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
Rou1997
@Rou1997
кроме заголовков ничего не подключалось.

А надо *.CPP тоже подключить, так чтобы они скомпилировались, либо собрать в библиотеку.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@vilgeforce
Раздолбай и программист
Ошибка в том, что вы не подключили саму библиотеку, а подключили только ее заголовки. Бывают, конечно, случае, когда этого достаточно. Но судя по ошибке - не в вашем случае.
Ответ написан
Комментировать
@csar Автор вопроса
c++
В mhook скомпилированных библиотек нет, только h и cpp. Код я скопировал с примера, где проект компилировался, кроме заголовков ничего не подключалось.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы