krocki

Нужна помощь по переброске исходников и компиляция...

9 сообщений в этой теме

Все привет хакерам и прогерамм!

Опишу коротко что нужно...

И так...есть два исходника эмуля Gens 2.14 и Gens v2.11 + ATM v1.181 full

Нужно взять данные отладчика М68000 + сканер адресов с версии 2.11 и перекинуть в 2.14 и откомпилировать проект по возможности.

Необходима среда разработки не ниже Microsoft Visual Studio 2003

Есть желающие помочь?

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я так понимаю надо что-то из старого проекта в новый перенести? А почему они тогда эти штуки выпилили в новом? Неспроста ведь.

И почему сам не можешь?) Студии под рукой нет?

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
5 часов назад, uhx сказал:

Я так понимаю надо что-то из старого проекта в новый перенести?

Угу.

 

5 часов назад, uhx сказал:

А почему они тогда эти штуки выпилили в новом?

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

Отладка и сканер добавил уже другой сторонний чел. с другого эмулятора... вот только жаль что он на старую версию сделал.

 

5 часов назад, uhx сказал:

И почему сам не можешь?) Студии под рукой нет?

Студия есть...вот каким образом всё это переносить!?... даже просто исходники откомпилить не могу, ошибку выдаёт,

а исправив одну ошибку, вылазит другая и т.д. такая вот шняга.

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
1 час назад, krocki сказал:

даже просто исходники откомпилить не могу, ошибку выдаёт,

а исправив одну ошибку, вылазит другая и т.д. такая вот шняга

боже, чувак, это настолько знакомо, что ты даже не представляешь))

 

это все из за разницы версий. По сути, код писался очень давно и тут просто разница в соглашениях. Например, тут есть ошибка с присвоением const char* к char*, я так понимаю раньше на такое компилятор даже не ругался, а щас ... Плюс еще какие-то зависимости, которых у меня нет.

Изменено пользователем uhx
0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Короче в чем соль. Надо ставить старый DirectX SDK, который поддерживает те функции. Я сейчас повозился часок со всем этим, дошел до ошибки

1>g_dinput.obj : error LNK2019: unresolved external symbol _DirectInputCreateA@16 referenced in function "int __cdecl Init_Input(struct HINSTANCE__ *,struct HWND__ *)" (?Init_Input@@YAHPAUHINSTANCE__@@PAUHWND__@@@Z)

Но тут уже надо, похоже, ставить старый dinput.lib, а не dinput8.lib который в последних SDK. Я так понимаю в нем уже нет нужных функций старых. Либо просто докачать старые либы и запихнуть к SDK

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А, лол, все.

========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========

Докачал просто с какого-то гитхаба отдельно этот файлик и скомпилило. Ща поясню за всё, надеюсь из старого проекта что нужно ты уж сам перенесешь)

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В общем, как я фиксил Gens 2.14

Открыл проект, пофиксил ошибку в genie.cpp на 176 строчке (const char* to char*)

if(!(x = (char*) strchr(code, ':'))) goto bad_code;

Изменил макрос в kaileraclient.h

#define DLLEXP __declspec(dllimport) WINAPI

на

#define DLLEXP __declspec(dllimport) int WINAPI

А то ругается на него, мол, не определен тип, давай указывай. Переключил проект на Release.

В свойствах проекта добавляю в VC++ Directories нужные пути до моего DirectX SDK (2010 June). На всякий случай:

Executable directories: C:\Program Files %28x86%29\Microsoft DirectX SDK %28June 2010%29\Utilities\bin\x86;$(VCInstallDir)bin;$(WindowsSDK_ExecutablePath_x86);$(VSInstallDir)Common7\Tools\bin;$(VSInstallDir)Common7\tools;$(VSInstallDir)Common7\ide;$(ProgramFiles)\HTML Help Workshop;$(MSBuildToolsPath32);$(VSInstallDir);$(SystemRoot)\SysWow64;$(FxCopDir);$(PATH);
Include directories: C:\Program Files %28x86%29\Microsoft DirectX SDK %28June 2010%29\Include;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath);
Library directories: C:\Program Files %28x86%29\Microsoft DirectX SDK %28June 2010%29\Lib\x86;C:\Program Files %28x86%29\Microsoft DirectX SDK %28June 2010%29\Lib\x64;$(VCInstallDir)lib;$(VCInstallDir)atlmfc\lib;$(WindowsSDK_LibraryPath_x86);

С этим ясно. Теперь компилю опять и вижу ошибку:

LINK : fatal error LNK1181: cannot open input file 'dinput.lib'

Окей, крутяк. Ищем нужный файл на просторах интернета, тык. Ну или переписываем код под библиотеку dinput8.lib, что конечно более геморно))

Добавляем этот файлик к нашему SDK, а точнее сюда:

C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Lib\x86

> Build

LINK : fatal error LNK1104: cannot open file 'LIBC.lib'

А это уже серьезнее. Ругается на недоступность C RunTime library, которая содержит основной костяк Сишных функций ( printf, malloc/free ... )

В наше время от нее уже успели отказаться в пользу msvcrt, поэтому придется ее переключить...

Так как все опции находятся в Makefile, то приходится лезть в него.

Хмм... долго думал и копался, не придумал ничего лучше как просто заигнорить ее :D

27 строчка Makefile

LINK_FLAGS=/NODEFAULTLIB:"LIBC.lib"

> Build

========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========

Удачи ;)

Изменено пользователем uhx
0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ОК...спасибки, позже у себя попробую по юзать...кстати на какой студии юзал?

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
1 час назад, krocki сказал:

ОК...спасибки, позже у себя попробую по юзать...кстати на какой студии юзал?

Компилил в MVS2012, но какая разница? Здесь всё равно все опции для построения вынесены в Makefile, по сути сам Solution ничего не содержит.

А библиотеки (и уж тем более компилятор) везде одинаковые 

Изменено пользователем uhx
1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!


Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас