Mengapa Projek MinGW C Saya Membuang Ralat 'Rujukan Tidak Ditakrifkan kepada WinMain' Apabila Menggunakan wWinMain?

Patricia Arquette
Lepaskan: 2024-11-05 11:25:02
asal
847 orang telah melayarinya

Why Does My MinGW C   Project Throw an

Menyelesaikan Rujukan Tidak Ditakrifkan kepada WinMain Menggunakan wWinMain dalam MinGW (C )

Apabila cuba menggantikan int main() dengan int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE, PWSTR pCmdLine, int nCmdShow) dalam aplikasi C menggunakan MinGW sebagai pengkompil, pengguna mungkin menghadapi mesej ralat "rujukan tidak ditentukan kepada WinMain". Ralat ini timbul disebabkan oleh percanggahan antara perpustakaan permulaan CRT Visual C dan MinGW, yang tidak menyokong titik masuk wWinMain secara asli.

Penyelesaian:

Untuk versi MinGW yang lebih baharu , menambah pilihan pemaut -municode pada baris arahan, pilihan pemaut dalam IDE atau Makefile akan membolehkan penggunaan wWinMain.

g++ other_options_and_arguments -municode
Salin selepas log masuk

Walau bagaimanapun, untuk versi lama MinGW yang tidak mempunyai sokongan untuk -municode, penyelesaiannya adalah untuk kembali menggunakan fungsi WinMain standard. Dalam kes ini, kod boleh diubah suai seperti berikut:

<code class="c++">int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE, PSTR pCmdLine, int nCmdShow)</code>
Salin selepas log masuk

Nota:

Sementara Visual C menyokong titik masuk wWinMain di mana parameter "lpCmdLine" berada "LPWSTR," ia memperkenalkan kerumitan tambahan dengan memerlukan penggunaan definisi prapemproses dan boleh menjadi lebih rumit untuk digunakan. Oleh itu, adalah disyorkan untuk menggunakan fungsi WinMain standard apabila bekerja dengan MinGW melainkan keperluan khusus program menuntut penggunaan baris arahan unicode.

Atas ialah kandungan terperinci Mengapa Projek MinGW C Saya Membuang Ralat 'Rujukan Tidak Ditakrifkan kepada WinMain' Apabila Menggunakan wWinMain?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!