11

Sto cercando di impostare il mio progetto includono al percorso %OPENCV_246%\..\..\includevariabili di ambiente in Visual Studio 2013

Questo risolve il percorso F:\dev\opencv_246\build\include

Tuttavia, quando si imposta il progetto include, quel percorso non sarà risolvere e di conseguenza le intestazioni incluse si interrompono.

Ho provato sia %OPENCV_246%\..\..\include e $(OPENCV_246)\..\..\include senza fortuna.

L'utilizzo del percorso risolve direttamente my include, ma mi piacerebbe avere un modo migliore di gestire il percorso attraverso le variabili di ambiente.

Nello screenshot ho aggiunto entrambi per chiarezza, se qualcuno potesse indicare il passo che mi manca qui lo apprezzerei.

EDIT: Variabile OPENCV_246 contiene valore F:\dev\opencv_246\build\x86\vc11

screenshot

+1

Trova file your_program_name.log nella directory di output del progetto. Contiene il log di compilazione completo, con i parametri della riga di comando del compilatore. Puoi vedere lì, come è espansa la macro e capire qual è il problema. –

+1

L'utilizzo di $ (OPENCV_246) è il modo corretto di fare riferimento a una variabile di ambiente. Non diagnosticabile quando non si documenta ciò che la variabile contiene effettivamente. –

+0

Riavviata la mia macchina e costruita utilizzando il percorso completo, ritorna alla variabile di ambiente 'OPENCV_246' che sembra funzionare ora. Ho provato ad aggiungere una nuova variabile d'ambiente 'OPENCV_TEST' che punta allo stesso percorso, che funziona anche. Non sono sicuro di cosa abbia causato questo comportamento. – LCartwright

risposta

3

Questo sembrava simile al mio problema, che è stato sempre VS2013 per confermare un cambiamento che ho fatto alla mia variabile d'ambiente (nel mio caso QTDIR). Anche dopo un riavvio e uno spegnimento, ostinatamente si è aggrappato al vecchio valore !! (puoi vedere il valore se vai a modificare un'impostazione di progetto, premi il pulsante "Macros" e scorri verso il basso l'elenco per trovare "$ (QTDIR)")

Here suggerisce fortemente valori di ca201 VS2010, ma Il 2013 sembra ancora più entusiasmante!

Dopo alcuni FindInFiles per il percorso precedente, sembra che VS2013 memorizzi nella cache le variabili di ambiente nel file .vcxproj.user. Non ho idea di come sia arrivato lì in primo luogo.

Quindi ho cancellato la voce, ho chiuso la soluzione, ho controllato di nuovo il file in WordPad per assicurarmi che la voce non fosse stata rimessa. Poi ho riaperto la soluzione, ma il vecchio valore era ancora lì nella lista Macro!

Chiusura VS sembra aver fatto il trucco. Ora sembra che abbia la strada giusta, anche se sono sicuro che ho controllato dopo aver aperto la soluzione e QTDIR non era nella lista Macro - forse sono confuso ...

Bene, tutto sembra funzionare ora, e il mio progetto costruisce e collega alle mie librerie Qt senza lamentele :-)

E, la voce nel file vcxproj.user non è tornata. Quindi non so ancora come ci sia arrivato. Forse ho fatto qualcosa per causare un po 'indietro in una versione precedente di VS ...