Rumah > pembangunan bahagian belakang > C++ > Mengapa saya mendapat 'Ralat LNK2019 simbol luar _utama yang tidak dapat diselesaikan' dalam aplikasi C saya?

Mengapa saya mendapat 'Ralat LNK2019 simbol luar _utama yang tidak dapat diselesaikan' dalam aplikasi C saya?

Susan Sarandon
Lepaskan: 2024-11-22 09:00:12
asal
397 orang telah melayarinya

Why am I getting the

Ralat: Menyelesaikan Simbol Luaran dalam Aplikasi C

Masalah:

Apabila membina aplikasi C, anda mungkin menghadapi ralat berikut:

Error LNK2019 unresolved external symbol _main referenced in function "int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ)
Salin selepas log masuk

Punca:

Ralat ini biasanya timbul apabila perkara berikut syarat tidak dipenuhi:

  • Fungsi titik masuk projek main() tidak ditakrifkan atau tidak boleh diakses daripada modul utama.
  • Penghubung tidak dapat mengesan definisi main() dalam pustaka yang ditentukan.

Penyelesaian:

Untuk menyelesaikan isu ini, ikuti ini langkah:

1. Pastikan Kewujudan Fungsi main():

Sahkan bahawa projek anda termasuk fungsi yang dipanggil main() dalam kod sumber. Fungsi ini berfungsi sebagai titik masuk untuk program dan mesti ditakrifkan seperti berikut:

int main(int argc, char** argv)
{
    // Your program logic goes here
    return 0;
}
Salin selepas log masuk

2. Tetapan Pemaut:

Semak tetapan pemaut projek anda untuk memastikan fungsi main() boleh diakses daripada modul utama. Dalam Visual Studio, pergi ke:

  • Project Properties
  • Linker
  • System
  • Di bawah Subsistem, pilih Tingkap

3. Sahkan Kemasukan Perpustakaan:

Sahkan bahawa pustaka yang mengandungi definisi main() disertakan dalam tetapan pemaut projek. Ini boleh didapati dalam:

  • Sifat Projek
  • Penyambung
  • Input
  • Tambahan Kebergantungan

Contoh Projek:

#include "windows.h"

int WINAPI WinMain(HINSTANCE hinstance, HINSTANCE hprevinstance, LPSTR lpcmdline, int ncmdshow)
{
    MessageBox(NULL, _T("Hello, world!"), _T("My Application"), MB_OK);

    return 0;
}
Salin selepas log masuk

Nota: Dalam contoh ini, main() diisytiharkan menggunakan makro WINAPI kerana WinMain( ) fungsi ialah titik masuk untuk aplikasi Windows.

Atas ialah kandungan terperinci Mengapa saya mendapat 'Ralat LNK2019 simbol luar _utama yang tidak dapat diselesaikan' dalam aplikasi C saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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