Rumah > Artikel > pembangunan bahagian belakang > Mengapa MinGW membuang ralat 'rujukan tidak ditentukan kepada WinMain' apabila menggunakan wWinMain dalam C ?
Menyelesaikan rujukan yang tidak ditakrifkan kepada WinMain apabila menggunakan wWinMain dalam C (MinGW)
Apabila cuba menggunakan wWinMain (HINSTANCE hInstance, HINSTANCE, HINSTANCE, PWSTRA , int nCmdShow) sebagai titik masuk program dalam C di bawah MinGW, ralat "rujukan tidak ditentukan kepada WinMain" boleh berlaku.
Punca:
MinGW, terutamanya versi lama , tidak menyokong titik masuk wWinMain secara asli, yang menjangkakan hujah baris arahan aksara lebar (WCHAR).
Penyelesaian:
Terdapat dua penyelesaian yang berpotensi:
1. Gunakan Bendera -municode:
Versi MinGW yang lebih baharu menyokong bendera pemaut -municode, yang bertukar kepada kod permulaan alternatif yang membenarkan penggunaan wWinMain. Tambahkan bendera ini pada baris arahan anda, pilihan pemaut dalam IDE anda atau Makefile:
g++ other_options_and_arguments -municode
2. Gunakan Titik Masuk WinMain:
Untuk versi MinGW yang lebih lama atau jika anda memilih untuk tidak menggunakan bendera -municode, anda boleh kembali menggunakan titik masuk WinMain standard. Ini memerlukan pengubahsuaian kod anda seperti berikut:
Nota Tambahan: >
Jika anda perlu mengakses argumen baris perintah Unicode kemudian dalam program anda, gunakan LPWSTR cmd_line = GetCommandLineW(); bukannya menggunakan argumen WinMain.
Atas ialah kandungan terperinci Mengapa MinGW membuang ralat 'rujukan tidak ditentukan kepada WinMain' apabila menggunakan wWinMain dalam C ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!