Автор Тема: Помощь в компиляции утилит на С++  (Прочитано 1216 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн ViToTiV

  • Пользователь
  • Сообщений: 172
    • Просмотр профиля
Помощь в компиляции утилит на С++
« : 19 Ноябрь 2021, 10:58:22 »
Господа хорошие, помогите скомпилить утилиты для перевода игры Lunar - Silver Star Complete (PSX)
Вроде и сам программист в прошлом (но не на С), но никак блин не получается сделать это на винде, пробовал 3 разных компилятора, у каждого разные ошибки, исправлю одну - вылазит следующая, весь рабочий день вчера потратил.  0_0
Вот гитхаб - https://github.com/suppertails66/wdtools
сразу скажу что там нужен LibPNG.

Оффлайн dedok179

  • Пользователь
  • Сообщений: 497
  • Пол: Мужской
    • Youtube
    • Просмотр профиля
Помощь в компиляции утилит на С++
« Ответ #1 : 19 Ноябрь 2021, 12:12:53 »
Господа хорошие, помогите скомпилить утилиты для перевода игры Lunar - Silver Star Complete (PSX)
Вроде и сам программист в прошлом (но не на С), но никак блин не получается сделать это на винде, пробовал 3 разных компилятора, у каждого разные ошибки, исправлю одну - вылазит следующая, весь рабочий день вчера потратил.  0_0
Вот гитхаб - https://github.com/suppertails66/wdtools
сразу скажу что там нужен LibPNG.
Попробуй. Требует внешние либы для запуска

Оффлайн ViToTiV

  • Пользователь
  • Сообщений: 172
    • Просмотр профиля
Помощь в компиляции утилит на С++
« Ответ #2 : 19 Ноябрь 2021, 13:22:37 »
dedok179, спасибо, но сайт со вчерашнего дня у меня тупит, страницы еле открываются. пока не получается скачать, обрывается постоянно, можешь выложить на обменник?

Оффлайн DrMefistO

  • Пользователь
  • Сообщений: 1298
  • Пол: Мужской
  • Sega Mega Drive reversing
    • Просмотр профиля

Оффлайн dedok179

  • Пользователь
  • Сообщений: 497
  • Пол: Мужской
    • Youtube
    • Просмотр профиля
Помощь в компиляции утилит на С++
« Ответ #4 : 19 Ноябрь 2021, 15:30:37 »
Господа хорошие, помогите скомпилить утилиты для перевода игры Lunar - Silver Star Complete (PSX)
Вроде и сам программист в прошлом (но не на С), но никак блин не получается сделать это на винде, пробовал 3 разных компилятора, у каждого разные ошибки, исправлю одну - вылазит следующая, весь рабочий день вчера потратил.  0_0
Вот гитхаб - https://github.com/suppertails66/wdtools
сразу скажу что там нужен LibPNG.
При компиляции ошибок не выдавалось. Если не запускается, может кто еще попробует скомпилить. Я прям не программист-программист, так что всех тонкостей могу и не знать, просто хотелось помочь хорошему человеку. Компилил под mingw 32bit.

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 5144
    • Просмотр профиля
Помощь в компиляции утилит на С++
« Ответ #5 : 19 Ноябрь 2021, 15:58:39 »
Требует внешние либы для запуска
А толку, если придётся всё равно ставить MinGW и брать их.

Моя инструкция
1. Через git скачать исходный код.
2. Поставить https://www.msys2.org, по инструкции поставить mingw-w64-x86_64-toolchain для компиляции, ещё я ставил mingw-w64-i686-toolchain для 32-битных приложений и буду описывать под 32-бита. Поставить libpng:
pacman -Ss mingw32/mingw-w64-i686-libpng
pacman -Ss mingw64/mingw-w64-x86_64-libpng
Скопировать msys64\mingw32\include\libpng16 в wdtools\blackt\src и переименовать в libs. Это заголовочные файлы, в wdtools не компилируется сам libpng, так что не нужно брать код с http://www.libpng.org/pub/png/libpng.html.
3. Запустить "MSYS2 MinGW 32-bit" перейти в папку wdtools (например, командой cd /C/wdtools). Для компиляции выполнить make.
4. У меня не получилось скомпилировать статически, поэтому закинул DLL от MinGW. Я запускал каждый EXE и смотрел что требуется, копировал из msys64\mingw32\bin.

UPD: wdtools\src лежат lsss_txtcmpstr_us.bin и scriptrip_jp_thingy.txt, их скопируйте сами, если нужны.
« Последнее редактирование: 19 Ноябрь 2021, 16:07:21 от Sharpnull »

Оффлайн DrMefistO

  • Пользователь
  • Сообщений: 1298
  • Пол: Мужской
  • Sega Mega Drive reversing
    • Просмотр профиля
Помощь в компиляции утилит на С++
« Ответ #6 : 19 Ноябрь 2021, 16:04:44 »
Если сильно нужно будет статически собранное, соберу вечером, не проблема.

Оффлайн Yoti

  • Пользователь
  • Сообщений: 4480
  • Пол: Мужской
  • Не тро-гай ме-ня
    • Steam
    • Просмотр профиля
Помощь в компиляции утилит на С++
« Ответ #7 : 19 Ноябрь 2021, 16:13:26 »
Я запускал каждый EXE и смотрел что требуется, копировал из msys64\mingw32\bin.
Мыши плакали, кололись...

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 5144
    • Просмотр профиля
Помощь в компиляции утилит на С++
« Ответ #8 : 19 Ноябрь 2021, 16:18:00 »
DrMefistO, мне не нужно, но может ViToTiV будет удобнее. Я не эксперт в компиляции, если получится сделать статически, то напишите как удалось.

Оффлайн DrMefistO

  • Пользователь
  • Сообщений: 1298
  • Пол: Мужской
  • Sega Mega Drive reversing
    • Просмотр профиля
Помощь в компиляции утилит на С++
« Ответ #9 : 19 Ноябрь 2021, 23:56:10 »
Вот, залил полностью статичные ехешники: https://mega.nz/file/SVs2UDjI#9vSVghKu6UrnnQ-oK8dBbWfLI19vQ6wabgqrC4iEuSU

Как решал:
1. Скачал с msys2 репов libpng и libz статичные либы, положил их в корень проекта
2. Изменил makefile-ы так, чтобы они видели эти новые статичные либы: -L./ -lpng -lz
3. Заменил в makefile-ах AR и CXX на AR=x86_64-w64-mingw32-ar и CXX=x86_64-w64-mingw32-g++
4. Сделал make

Если надо, так же делается и x86 билд. Я делал только x64.

Оффлайн ViToTiV

  • Пользователь
  • Сообщений: 172
    • Просмотр профиля
Помощь в компиляции утилит на С++
« Ответ #10 : 22 Ноябрь 2021, 11:29:04 »
всем спасибо, варианты от Sharpnull и DrMefistO заработали)