Errore degli strumenti del linker LNK1561
il punto di ingresso deve essere definito
Il linker non ha trovato un punto di ingresso, la funzione iniziale da chiamare nel file eseguibile. Per impostazione predefinita, il linker cerca una main
funzione o wmain
per un'app console, una WinMain
funzione o wWinMain
per un'app di Windows o DllMain
per una DLL che richiede l'inizializzazione. È possibile specificare un'altra funzione usando l'opzione /ENTRY linker.
Questo errore può avere diverse cause:
- È possibile che non sia stato incluso il file che definisce il punto di ingresso nell'elenco dei file da collegare. Verificare che il file che contiene la funzione del punto di ingresso sia collegato all'app.
- È possibile che sia stato definito il punto di ingresso usando la firma della funzione errata; Ad esempio, è possibile che sia stato digitato o usato il caso errato per il nome della funzione oppure che il tipo restituito o i tipi di parametro non siano corretti.
- È possibile che non sia stata specificata l'opzione /DLL durante la compilazione di una DLL.
- È possibile che sia stato specificato il nome della funzione del punto di ingresso in modo non corretto quando è stata usata l'opzione /ENTRY linker.
- Se si usa lo strumento LIB per compilare una DLL, è possibile che sia stato specificato un file con estensione def. In tal caso, rimuovere il file con estensione def dalla compilazione.
Quando si compila un'app, il linker cerca una funzione del punto di ingresso da chiamare per avviare il codice. Questa è la funzione chiamata dopo il caricamento dell'app e l'inizializzazione del runtime. È necessario specificare una funzione del punto di ingresso per un'app oppure l'app non può essere eseguita. Un punto di ingresso è facoltativo per una DLL. Per impostazione predefinita, il linker cerca una funzione del punto di ingresso con uno dei diversi nomi e firme specifici, ad esempio int main(int, char**)
. È possibile specificare un altro nome di funzione come punto di ingresso usando l'opzione /ENTRY linker.
Esempio
L'esempio seguente genera LNK1561:
// LNK1561.cpp
// LNK1561 expected
int i;
// add a main function to resolve this error