Другое С/С++ Вопрос - Ответ

K_E_N_T

Новичок
9
0
Как правильно установить Visual Studio для написания SF скриптов и какую версию лучше использовать.
Я чайник и сижу над этим уже 4-й день с плешью на голове постоянно какие-то ошибки и не имею понятия на БХ гайдов по этому вообще нету.

 

frit

Известный
389
174
Как правильно установить Visual Studio для написания SF скриптов и какую версию лучше использовать.
Я чайник и сижу над этим уже 4-й день с плешью на голове постоянно какие-то ошибки и не имею понятия на БХ гайдов по этому вообще нету.

Видимо ты даже часа не просидел, ибо ответ можно было давно найти в гугле. Тебе не нужна разработка игр, тебе нужна "Разработка классических приложений на C++" и поставить две верхние галочки в сводке: "Пакет Windows SDK" и ещё какая-то галочка(не помню уже). Нажать кнопку "Установить".
 

#Kai-

Известный
705
292
2021-05-02_13-14-31.png

Начал изучать дремучий лес под названием C++ and plugin sdk от DK22Pac
В чем собственно проблема, понять не могу. Вылезает при компиляции по "гайду".
Когда компилю тестовый свой проект:
2021-05-02_13-17-41.png



Не нужно писать про SF API, принципиально не хочу зависимость от SF
 
У

Удалённый пользователь 123482

Гость
Посмотреть вложение 95424
Начал изучать дремучий лес под названием C++ and plugin sdk от DK22Pac
В чем собственно проблема, понять не могу. Вылезает при компиляции по "гайду".
Когда компилю тестовый свой проект:
Посмотреть вложение 95425


Не нужно писать про SF API, принципиально не хочу зависимость от SF
В инсталляторе укажи папку Plugin SDK если не пропустил последний шаг
 

S7XA

Активный
109
69
Что не так?

Code:
#include <Windows.h>
#include "main.h"

SAMPFUNCS *SF = new SAMPFUNCS();

void CALLBACK WHO_TEST(std::string params)
{
    int iFormInt = 1;
    SF->getSAMP()->getChat()->AddChatMessage(0xFFFFFF, "Command Worked %d", iFormInt);
}

void __stdcall mainloop()
{
    static bool initialized = false;
    if (!initialized)
    {
        if (GAME && GAME->GetSystemState() == eSystemState::GS_PLAYING_GAME && SF->getSAMP()->IsInitialized())
        {
            initialized = true;
            SF->getSAMP()->getChat()->AddChatMessage(0xFFFFFF, "SAMPFUNCS Plugin loaded.");
            SF->getSAMP()->registerChatCommand("who", WHO_TEST);
        }
    }
}

BOOL APIENTRY DllMain(HMODULE hModule, DWORD dwReasonForCall, LPVOID lpReserved)
{
    if (dwReasonForCall == DLL_PROCESS_ATTACH)
        SF->initPlugin(mainloop, hModule);
    return TRUE;
}

Лог ошибок -
 

memir

🇷🇺
Всефорумный модератор
340
611
Что не так?

Code:
#include <Windows.h>
#include "main.h"

SAMPFUNCS *SF = new SAMPFUNCS();

void CALLBACK WHO_TEST(std::string params)
{
    int iFormInt = 1;
    SF->getSAMP()->getChat()->AddChatMessage(0xFFFFFF, "Command Worked %d", iFormInt);
}

void __stdcall mainloop()
{
    static bool initialized = false;
    if (!initialized)
    {
        if (GAME && GAME->GetSystemState() == eSystemState::GS_PLAYING_GAME && SF->getSAMP()->IsInitialized())
        {
            initialized = true;
            SF->getSAMP()->getChat()->AddChatMessage(0xFFFFFF, "SAMPFUNCS Plugin loaded.");
            SF->getSAMP()->registerChatCommand("who", WHO_TEST);
        }
    }
}

BOOL APIENTRY DllMain(HMODULE hModule, DWORD dwReasonForCall, LPVOID lpReserved)
{
    if (dwReasonForCall == DLL_PROCESS_ATTACH)
        SF->initPlugin(mainloop, hModule);
    return TRUE;
}

Лог ошибок -
надо DirectX SDK поставить
 

#Kai-

Известный
705
292
Что за ошибка? Давай показывай.
2021-05-02_13-14-31.png


Я открываю plugin.sln ( У меня MVS 2019 ) ничего более не выбираю, нажимаю F5 и все...

сборка без ошибок проходит, но последнее действие он пытается открыть этот файл и вылезает это сообщение с ошибкой. В самом логе ошибок нет.
 

AdCKuY_DpO4uLa

Адский дрочер
Друг
317
675
Посмотреть вложение 95457

Я открываю plugin.sln ( У меня MVS 2019 ) ничего более не выбираю, нажимаю F5 и все...

сборка без ошибок проходит, но последнее действие он пытается открыть этот файл и вылезает это сообщение с ошибкой. В самом логе ошибок нет.
У тебя все правильно, просто при компиляции на f5, студия пытается запустить скомпилированный файл, а ты компилил .lib файл, который не является исполняемым. Отсюда и ошибка о том, что его запустить нельзя. Тебе сейчас осталось только через студию создать plugin sdk проект и все должно работать
 
  • Нравится
Реакции: imring