2008-09-25 20 views
15

Una búsqueda rápida en Google de este problema muestra que es común, no puedo por la vida de encontrar la solución en mi caso.wxwidgets setup.h "no such file"

Tengo una instalación directa de wxWidgets 2.8.8 para Windows directamente desde el sitio web de wxWidgets.

Siempre que trato de compilar nada (como la aplicación de ejemplo se describe en "Primera Programas para wxWidgets" - http://zetcode.com/tutorials/wxwidgetstutorial/firstprograms/) me sale:

WX/setup.h: No existe el fichero o directorio

I He incluido tanto C: \ wxWidgets-2.8.8 \ include como C: \ wxWidgets-2.8.8 \ include \ wx en mi lista de búsqueda de compiladores.

Debería ser simple, ¡pero no lo es! :(

Lo mismo ocurre si se intenta utilizar un IDE integrado con wxWidgets (como Code :: Blocks) - y esto, habría pensado, sólo habría salido de la caja ...

Entonces, algo de ayuda, por favor ... ¿Por qué setup.h no se encuentra?

Respuesta

21

wxWidgets no está integrado en las bibliotecas utilizables cuando "instala" el instalador wxMSW. Esto se debe a que hay tantas co nfigurable elements, que es precisamente a lo que se refiere la configuración.h a la que se refiere.

Si lo que desea es construirlo con las opciones predeterminadas lo antes posible y seguir adelante, aquí es cómo:

  1. inicio del "Símbolo de Visual Studio del sistema". Lo encontrará en el menú de inicio en "Microsoft Visual Studio -> Herramientas de Visual Studio".

  2. Cambio de carpeta: [WXWIN root] \ build \ msw

  3. configuración de generación por defecto de depuración: nmake -f makefile.vc BUILD=debug

  4. configuración de liberación predeterminado de construcción: nmake -f makefile.vc BUILD=release

  5. Asegúrese de que los archivos DLL están en tu camino. Se encontrarán en [raíz WXWIN] \ lib \ vc_dll

  6. En la carpeta DLL mencionada anteriormente, encontrará subcarpetas para cada variante de compilación (las instrucciones anteriores hicieron dos, depuración y versión). En cada carpeta de variante encontrará una carpeta 'wx' que contiene un archivo 'setup.h'. Verá que los archivos setup.h son realmente diferentes para cada variante de compilación. Estas son las carpetas que necesita agregar a la configuración de compilación de su proyecto. ruta, una por variante de compilación. Por ejemplo, agregaría [WXWIN root] \ lib \ vc_dll \ mswud a la ruta de inclusión para su compilación de depuración, [WXWIN root] \ lib \ vc_dll \ mswu para su versión de lanzamiento.

  7. Es posible construir muchas otras combinaciones de variantes: bibliotecas estáticas, biblioteca única monolítica, no-Unicod e, etc. Consulte [WXWIN root] \ docs \ msw \ install.txt para obtener instrucciones mucho más extensas.

2

Probablemente necesite construir wxWidgets. Hay un paso posterior a la compilación en el proceso de compilación wxWidgets que copia la configuración.h adecuada en C: \ wxWidgets_install_dir \ include \ wx.

+3

Se supone que setup.h no debe estar en la carpeta include/wx. Esto evitaría que use wxWidgets con múltiples configuraciones de compilación; depurar, liberar, etc. El proceso de compilación realmente copia apropiadamente los encabezados setup.h a las carpetas específicas de la configuración en [WXWIN root] \ lib. – kbluck

+1

por ejemplo, si se encuentra en Windows, copie el archivo setup.h de wx/msw a wx. – Jichao

5

Al compilar wxWidgets, crea dinámicamente un archivo setup.h para cada configuración de compilación que se genera. Los archivos setup.h generados se almacenan en carpetas debajo de la carpeta de la liberación, por ejemplo (Visual Studio en Windows):

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

para construir con éxito un proyecto basado en wxWidgets, cada configuración de generación en el proyecto se debe configurar con su propio Directorio de inclusión adicional que apunta a la carpeta de compilación wxWidgets correspondiente bajo lib, como la lista arriba.

Además, un directorio de inclusión adicional que es común para todas las configuraciones de compilación en el proyecto debe configurarse para apuntar a la carpeta de inclusión principal de wxWidget. Esta carpeta normalmente se configura en una hoja de propiedades del usuario que se puede usar en cualquier proyecto. Ej .:

c:\wxWidgets-2.9.2\include 

Para vincular, un Directorio Biblioteca adicional común para todas las configuraciones de construir está configurado para apuntar a la carpeta lib wxWidgets. Ej .:

c:\wxWidgets-2.9.2\lib\vc_lib 

Y luego, específico para cada configuración de generación, las entradas de dependencia adicionales están configurados para incluir las bibliotecas de las bibliotecas wxWidgets correspondientes. Por ejemplo, para un Unicode, versión de depuración (u = Unicode, d = depuración):

wxbase29ud.lib 

Entonces, para usar wxWidgets en su proyecto, empezar a cabo mediante la inclusión del archivo generado setup.h:

#include "wx/setup.h" 

Y luego incluya encabezados para la funcionalidad específica de wxWidgets. Ej .:

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

Para cualquier cosa que trabajar, primero hay que construir las bibliotecas del núcleo (wx_vC# .sln archivos). Entonces puede trabajar con el resto de cosas.

Recuerde que necesita CppUnit para que los casetes compilen.

Cuestiones relacionadas