Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Mengapa Projek MinGW C Saya Membuang Ralat "Rujukan Tidak Ditakrifkan kepada WinMain" Apabila Menggunakan wWinMain?

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

Patricia Arquette
Patricia Arquetteasal
2024-11-05 11:25:02839semak imbas

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

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>

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!

Kenyataan:
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