Domanda

Una rapida ricerca su Google di questo problema mostra che è comune, non riesco proprio a capire la soluzione nel mio caso.

Ho una semplice installazione di wxWidgets 2.8.8 per Windows direttamente dal sito Web wxWidgets.

Ogni volta che provo a compilare qualcosa (come l'app di esempio descritta in " Primi programmi per wxWidgets " - http://zetcode.com/tutorials/wxwidgetstutorial/firstprograms/ ) Ottengo:

wx / setup.h: nessun file o directory

Ho incluso sia C: \ wxWidgets-2.8.8 \ include che C: \ wxWidgets-2.8.8 \ include \ wx nella mia lista di ricerca del compilatore.

Dovrebbe essere semplice, ma non lo è! : (

La stessa cosa succede se provo ad usare un IDE integrato con wxWidgets (come Code :: Blocks) - e questo, avrei pensato, avrebbe appena risolto il problema ...

Quindi, qualche aiuto per favore ... Perché setup.h non è stato trovato?

È stato utile?

Soluzione

wxWidgets non è incorporato in librerie utilizzabili quando si "installa" il programma di installazione di wxMSW. Questo perché ci sono così tanti elementi configurabili, che è esattamente ciò per cui setup.h ti riferisci.

Se vuoi solo costruirlo con le opzioni predefinite il più rapidamente possibile e andare avanti, ecco come:

  1. Avvia il prompt dei comandi di " Visual Studio. " Lo troverai nel menu di avvio sotto " Microsoft Visual Studio - > Strumenti di Visual Studio " ;.

  2. Cambia nella cartella: [radice WXWIN] \ build \ msw

  3. Crea la configurazione di debug predefinita: nmake -f makefile.vc BUILD = debug

  4. Crea configurazione di rilascio predefinita: nmake -f makefile.vc BUILD = release

  5. Assicurati che le DLL siano nel tuo PERCORSO. Saranno trovati in [WXWIN root] \ lib \ vc_dll

  6. Sotto la cartella DLL sopra menzionata, troverai le sottocartelle per ogni variante di build (Le istruzioni precedenti ne hanno fatte due, debug e release.) In ogni cartella delle varianti troverai una cartella 'wx' contenente un 'setup .h " file. Vedrai che i file setup.h sono in realtà diversi per ogni variante di build. Queste sono le cartelle che è necessario aggiungere alla configurazione di compilazione del progetto includendo percorso, uno per variante di compilazione. Quindi, ad esempio, aggiungere [root WXWIN] \ lib \ vc_dll \ mswud al percorso di inclusione per la build di debug, [root WXWIN] \ lib \ vc_dll \ mswu per la build di rilascio.

  7. È possibile creare molte altre combinazioni di varianti: librerie statiche, libreria singola monolitica, non Unicode, ecc. Vedere [Radice WXWIN] \ docs \ msw \ install.txt per istruzioni molto più ampie.

Altri suggerimenti

Durante la creazione di wxWidgets, crea dinamicamente un file setup.h per ogni configurazione di build che viene creata. I file setup.h generati sono memorizzati in cartelle sotto la cartella lib, ad esempio (Visual Studio su Windows):

c:\wxWidgets-2.9.2\lib\vc_lib\mswu

Per compilare correttamente un progetto basato su wxWidgets, ogni configurazione di compilazione nel progetto deve essere impostata con la propria Directory di inclusione aggiuntiva che punta alla cartella di compilazione wxWidgets corrispondente sotto lib, come quella sopra elencata.

Inoltre, è necessario impostare una Directory di inclusione aggiuntiva comune per tutte le configurazioni di compilazione nel progetto in modo che punti alla cartella di inclusione principale di wxWidget. Questa cartella è in genere impostata in una finestra delle proprietà dell'utente che può essere utilizzata in qualsiasi progetto. Per esempio:.

c:\wxWidgets-2.9.2\include

Per il collegamento, viene impostata una Directory libreria aggiuntiva comune per tutte le configurazioni di build in modo che punti alla cartella lib di wxWidgets. Per esempio:.

c:\wxWidgets-2.9.2\lib\vc_lib

Quindi, specifici per ciascuna configurazione di build, vengono impostate voci Dipendenza aggiuntiva per includere le librerie delle corrispondenti librerie wxWidgets. Ad esempio, per un Unicode, build Debug (u = Unicode, d = Debug):

wxbase29ud.lib

Quindi, per usare wxWidgets nel tuo progetto, inizia includendo il file setup.h generato:

#include "wx/setup.h"

E poi includi le intestazioni per la specifica funzionalità di wxWidgets. Per esempio:.

#include <wx/slider.h>
#include <wx/image.h>
#include <wx/control.h>

Probabilmente dovrai creare wxWidgets. Esiste un passaggio post-build nel processo di compilazione di wxWidgets che copia il setup.h appropriato in C: \ wxWidgets_install_dir \ include \ wx.

Perché tutto funzioni, devi prima creare le librerie principali (file wx_vc # .sln). Quindi puoi lavorare con il resto.

Ricorda che devi compilare CppUnit per compilare i test.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top