Я работал над эмулятором Gameboy, и все выглядит отлично, я уже реализовал ядро, помечаю обновления, циклически прерываю прерывания и т. Д. Я думал, что пришло время что-то увидеть.
Я выбрал SFML для графики и до сих пор смог скомпилировать пример программы. Но когда я пытался скомпилировать свой эмулятор, кажется, что настоящая стандартная библиотека C ++ была не связана, так как журнал сообщает о неопределенных ссылках из методов STD, таких как:
agb\main.o:main.cc:(.text+0x91): undefined reference to `__ZSt4cout'
agb\main.o:main.cc:(.text+0x120): undefined reference to `__ZNSt8ios_base4InitD1Ev'
agb\main.o:main.cc:(.text+0x141): undefined reference to `__ZNSt8ios_base4InitC1Ev'
и этот особенно интересный:
C:/Users/Astherix/Desktop/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../x86_64-w64-mingw32/lib/../lib/libmingw32.a(lib64_libmingw32_a-crt0_c.o):crt0_c.c:(.text.startup+0x2e): undefined reference to `WinMain'
Кто-нибудь знает, почему это происходит?
Я использую пользовательскую BAT для компиляции, это источник:
@echo off
set name=%1
echo Started building project '%name%' through gcc.
echo Creating object file '%name%.o'...
g++ -c %name%.cc -IC:\Users\Astherix\Desktop\mingw64\sfml\include
echo Compiling executable '%name%.exe'...
g++ %name%.o -o %name%.exe -LC:\Users\Astherix\Desktop\mingw64\sfml\lib -lsfml-graphics -lsfml-window -lsfml-system
Заранее спасибо.