Próbuję użyć biblioteki skompilowanej z mingw w visual studio. Jednak uzyskać następujące błędy linkera:Visual Studio 15 __imp___iob, __imp___pctype, __imp___mb_cur_max
błędzie LNK2001: nierozwiązanych zewnętrznych symbolu __imp___iob
błędu LNK2019: nierozwiązanych zewnętrznych symbolu __imp___pctype odwołanie w funkcji
błędzie LNK2019: nierozwiązanych zewnętrznych symbolu __imp____mb_cur_max mowa w funkcji
błąd LNK2001: nierozwiązanych zewnętrznych symbolu _fprintf
Udało mi się naprawić błąd _fprintf przez linkowanie do pliku legacy_stdio_definitions.lib zgodnie z postem: unresolved external symbol __imp__fprintf and __imp____iob_func, SDL2.
Jednak nie mam pojęcia, jak naprawić pozostałe trzy nierozwiązane zewnętrzne. Jak mogę to naprawić? Biblioteki pracują doskonale pod Visual Studio 2013.
Edit:
Ok tutaj jest aktualizacja. Przeniosłem plik libmsvcrt.a z folderu mingw lib do Visual Studio i dodałem go do ustawień linkera. Teraz wydaje się działać poprawnie.
Zespół MinGW ma sporo do zrobienia, aby ich .h pliki kompatybilne z wersją VS2015 CRT. Nie wstrzymuj oddechu, prawdopodobnie utkniesz w wersji VS2013 na jakiś czas. –
Zanim zaznaczę odpowiedź poniżej, czy jest jakiś szybki hack, aby to zadziałało? Zgodnie z tym: http://stackoverflow.com/questions/30412951/unresolved-external-symbol-imp-fprintf-and-imp-iob-func-sdl2, można rozwiązać błąd __imp___iob, definiując __imp___iob, aby zwrócić coś w rodzaju szyk. Jak zmierzyć się z dwoma innymi błędami linkera i jak zdefiniować tę tablicę? –
Po prostu zepsujesz funkcje uruchomieniowe C w bardzo trudny do zdiagnozowania sposób. Nie idź tam. –