Ralat Simbol Luaran Tidak Selesai dengan SDL2 dalam Visual Studio 2015
Ralat "simbol luaran yang tidak dapat diselesaikan" yang dilaporkan oleh pemaut menunjukkan bahawa simbol yang diperlukan , __imp__fprintf dan __imp____iob_func, tidak ditakrifkan atau dipautkan dengan betul dalam program anda.
Anda telah menyebut bahawa anda telah memautkan semua perpustakaan yang diperlukan (SDL2.lib dan SDL2main.lib) dengan betul. Walau bagaimanapun, isu ini mungkin terletak pada takrifan berbeza bagi fungsi input/output (I/O) standard antara Visual Studio 2015 dan versi terdahulu.
Dalam Visual Studio 2015, fungsi seperti printf, fprintf dan stderr ditakrifkan menggunakan __acrt_iob_func() dan bukannya __iob_func(). Ini bermakna anda mungkin perlu mentakrifkan sendiri __iob_func() untuk mengembalikan tatasusunan yang mengandungi {stdin,stdout,*stderr}.
Untuk menyelesaikan ralat simbol luaran yang tidak dapat diselesaikan untuk fungsi stdio, anda boleh menambah legacy_stdio_definitions.lib pada pilihan pemaut anda. Pustaka ini akan memberikan takrifan yang diperlukan untuk fungsi ini dalam Visual Studio 2015.
Ringkasnya, isu ini timbul disebabkan oleh perubahan dalam takrifan fungsi I/O standard dalam Visual Studio 2015. Untuk membetulkan ralat pemaut , takrifkan __iob_func() dan tambah legacy_stdio_definitions.lib pada pilihan pemaut anda.
Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat Simbol Luaran yang Tidak Selesai dengan SDL2 dalam Visual Studio 2015?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!