Nov 27, 2018 19:07
Нушош-нушош, tl;dr, опыт скрещивания ужа с ежом удался:
тупо удалил из SDL_config.h определения типов, которые дебаркадерный шланго-компилятор не понимает:
#else /* !__GNUC__ && !_MSC_VER */ <-- непонятно почему, но вы находитесь здесь, хотя bcc64 как бы притворяется шлангом
//typedef signed char int8_t; //щито?
typedef unsigned char uint8_t;
typedef signed short int16_t;
typedef unsigned short uint16_t;
typedef signed int int32_t;
typedef unsigned int uint32_t;
typedef signed long long int64_t;
typedef unsigned long long uint64_t;
#ifndef _SIZE_T_DEFINED_
#define _SIZE_T_DEFINED_
//typedef unsigned int size_t; //чиво бля?
#endif
//typedef unsigned int uintptr_t;//тыупрлс?
скормил mkexp.учу бинари SDL2 утянутые с оффсайта, следим за рукаме:
mkexp.exe sdl2bcc64.lib SDL2.dll <-- какой м-к (например маньяк, но не то чтоб) придумал называть кроссплатформенные либы капсом?
шшшто дало нам желаемую библиотеку экспроприации студеных импортов импорта экспортов из библиотеки собранной рабами майкрософтаразрабами вижуал студией.
Дддобавил как вводицца эту либу в дебаркадерный проЭкт. Жмякаем сконпелять. Не тут-то было:
[ilink64 Еггог] Еггог нунишмог найти SDL_init
[ilink64 Еггог] Еггог нунишмог найти SDL_GetError
Сверился с мануалом, что могло пойти не так... и немедленно уебал себя по лицу ладошкой:
mkexp mydll.a mydll.dll
Ну кококонешшшно: .а а не .lib!
Шшшол 2018 год. Восстание машин все откладывалось... потому что линкеры все еще распознавали бинарь по расширению, а не по содержимому.
Заменил sdl2bcc64.lib на йидентичную ей снутри sdl2bcc64.a. И оно собралось!
#ifndef,
#else,
#ебатьсявпасатижи,
ffffffffuuuuuuuu,
лицорука,
Извращения,
non penis canina,
#define,
измена,
#endif,
стеклянный хуй,
стрельбы в ногу