2015-11-08 25 views
21

Ogni volta che provo a eseguire il mio codice ottengo questo ERRORE Ho provato di tutto, installando l'SDK .. ma ancora lo stesso ERRORE.errore fatale LNK1104: impossibile aprire il file 'gdi32.lib'

1>------ Build started: Project: ConsoleApplication6, Configuration: Debug Win32 ------ 
1>LINK : fatal error LNK1104: cannot open file 'gdi32.lib' 
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ========== 

Sto usando Windows 7 e VS2012.

+0

L'installazione è scadente. È possibile controllare la pagina delle proprietà del progetto per le varie directory, in particolare la directory della libreria e quindi verificare che il percorso sia valido. – MicroVirus

risposta

50

Se qualcuno ha questo problema su Visual Studio 2017, si tratta di un problema con i creatori di aggiornamento di Windows 10.

Una soluzione alternativa consiste nel selezionare "Windows 10 SDK (10.0.15063.0) per Desktop C++ x86 e x64" nel carico di lavoro "Sviluppo desktop con C++" in Visual Studio Installer.

https://www.visualstudio.com/en-us/news/releasenotes/vs2017-relnotes#KINativeDesktopWorkload

+0

Per chiunque si chieda, sì questa è la soluzione giusta se non si trova nessun errore trovato compilatore con generazione VS2017 dopo l'aggiornamento di un creatore di Win 10. Grazie per la risposta. –

+0

Sì, questa soluzione ha funzionato per me in VS2017 sull'aggiornamento dei creator di Win 10 –

+0

Si noti inoltre che ha un componente per ogni architettura: "App per Windows Desktop per Windows C++ [arch]". Avevo installato solo x86 e non riuscivo a capire perché i build a 32 bit funzionassero, ma i build a 64 bit davano questo errore. L'installazione del componente amd64 lo ha risolto. – Timmmm

0

Quindi quello che capisco tu non hai definito il percorso del tuo grimorio.

click

destro su Progetto -> Proprietà

Proprietà di configurazione, su "Linker" Selezionare la scheda "Generale" su "Ulteriori directory di libreria" selezionare il percorso di gdi32.lib

enter image description here

Poi vai alla scheda di ingresso (in basso nella scheda Generale) doppio clic o selezionare modifica per aggiungere gdi32.lib

enter image description here

Infine aggiungi il tuo "gdi32.lib" quindi fai clic su OK.

enter image description here

Tra l'altro, in Visual Studio 2013 Ultimate edition, per impostazione predefinita è gdi32.lib

auguro che risolve il problema

+7

Tutte le edizioni di Visual Studio, salvo quelle in cui l'installazione è interrotta, hanno la directory della libreria predefinita impostata correttamente nella pagina 'VC++ Directories' e hanno 'gdi32.lib', e relativi, appaiono in 'Linker-> Input-> Dipendenze aggiuntive 'ereditate dal genitore. Questa risposta può risolvere questo particolare problema, una volta, ma c'è un problema di fondo più ampio che non è stato risolto in questo modo. – MicroVirus

6

Per coloro che hanno lo stesso problema con Visual Studio 2015 su Windows 10, potrebbe essere perché l'installazione è stata interrotta. In tal caso, avviare il programma di installazione per eseguire "Ripristino".

Potrebbe essere una buona idea installare anche il Visual Studia 2015 Update 1 RC.

Ha funzionato per me ...

+0

Ho riparato l'installazione di Visual Studio 2017 ma non funziona. – stefv

0

Se si è spostato il codice da un altro computer, si possono fare uso di SDK sbagliato sulla vostra piattaforma. Controlla le proprietà del progetto - Generale - Versione Windows SDK e impostalo su qualcosa mostrato nell'elenco.

0

Sono su Windows 8.1 Visual Studio 2017 Professional e l'ho fatto funzionare dopo aver cambiato le proprietà del progetto di Windows SDK versione 8.1, compilare, quindi riportarlo su 10.0.16299.0.

Stavo cercando di compilare il progetto di esempio CUDA.

Ha funzionato, non chiedermi perché. Forse ha qualcosa a che fare con me con Visual Studio Community 2017 e quindi disinstallarlo per installare il professionista.

5

In Visual Studio 2017 (edizione Community) ho risolto questo passaggio passando la versione di Windows SDK nelle proprietà del progetto da 10.0.10586.0 a 10.0.16299.0 (che è la versione che ho installato sulla mia macchina).

Ecco come:

  1. In Visual Studio, Vai al progetto proprietà:

enter image description here

  1. Scegli una versione SDK installato:

enter image description here

Riferimento: the developer community for VS

+0

Ho VS 2017 impresa e questo ha funzionato per me –

+0

Nonostante questo risposta da (user7880029) corretta. Questa risposta mi è piaciuta di più perché mostra ciò che è necessario fare,. Altrimenti, avrei bisogno di vedere come trovare dove selezionare Windows SDK. Grazie per avermi salvato un'altra ricerca su google. – ApertureSecurity

+0

hai appena salvato la mia giornata. il suo fratello di lavoro –

0

Per risolvere è necessario individuare una cartella contenente il gdi32.lib

Per il mio sistema trovato in C: \ Program Files (x86) \ Windows Kits \ 10 \ Lib \ 10.0.10240.0 \ um \ x86

Semplice aggiungilo nella finestra delle proprietà del progetto. come descritto in altri post menu Progetto-> Proprietà quindi directory VC++. Aggiungi il percorso in cima.

Problemi correlati