Да уж, метапрограммирование на сишке выглядит инфернально
Пока игрался с инжектом, Cheat Engine сообщил мне, что при выполнении LoadLibrary не находятся какие-то OpenGL-related функции(glColor, glViewport), причём только при попытке использовать функции протобафов. Пиздец какой-то. Ещё и протобаф резко начал компилироваться в отдельную DLLку. Можно ли её как-то по-нормальному статически скомпилировать?
Ладно, ну нахуй эти протобафы, проблем больше, чем пользы
да там настройки надо в проекте указывать мол статик лайбрари. погугли поищи как и где(и не забывай конфигурацию правильную выбрать в настройках проекта. условно если ты собираешь релиз версию х64 то и в настройках проекта тоже выбирай релиз х64 а то настроишь условно релиз х86 а потом будешь х64 компилить и думать хули настройки игнорируются).
+ там еще есть такая настройка MD/MT она указывает какой вариант с++ срт использовать
срт это библиотеки со всякой хуитой из стандартной библиотеки(условно всякие Сшные фопены хуёпены и тд) - они бывают либо длл(это тот самый VC++ Redistributable изза которого иногда там игры не запускаются пишет не найдена библиотека и тд) либо статик(.lib) которая вшивается прямо в твою exe/dll(естественно увеличивая размер файла на выходе). так вот все твои библиотеки которые ты юзаешь(будь то протобафы хуяфы и тд) должны использовать тот же вариант CRT что и сама твоя приложуха. условно если твоя дллка использует статик линк срт(у меня например у друга не инжектилась длл изза редиста этого ебаного, он качал редист все равно не помогло, тогда я просто статик линк срт поставил пересобрал(либы которые юзал тоже пришлось пересобирать и ставить там статик срт) у меня дллка стала побольше размером и все норм инжектилось у друга) то и протобафы и прочий шлак тоже должен быть собран с использованием статик линк срт, и наоборот. преимущество длл срт в том что длл она апдейтится, баги там всякие могут фикситься и тд - и твоя приложуха все это получит т.к. она функции из дллки берет и ей похуй какая там версия. а статик срт там прямо эти функции со всеми их багами если они там имеются так и вшиваются напрямую в твой код сразу и там уже хуй че поменяешь. зато статик срт там ебли нет с редистами хуистами
+ в некоторых либах нужно конкретно указывать(в виде #define'а в настройках проекта(ну там не дефайн конкретно но похожая хуйня)) что ты статик либу юзаешь(это уже от конкретной либы зависит, гдето надо, а гдето не надо, и дефайн везде разный) - это все написано в документации в инструкциях и тд