2010-09-07 14 views
14

No puedo creer que me esté costando tanto encontrar la manera de hacer algo tan simple. Tengo una biblioteca externa (que incluye un archivo .lib y .h) que quiero agregar a mi proyecto. Según lo que he leído, necesito ir a Proyecto> Propiedades> Marco y referencias> Agregar nuevas referencias y agregarlo allí.Cómo agregar una biblioteca estática externa a un proyecto de Visual C++ 2010 Express

Sin embargo, esta ventana está en blanco. Hay una columna de Nombre del proyecto y Directorio del proyecto, pero no hay nada allí y ningún botón 'Examinar' para encontrar mi biblioteca. Intenté ir al directorio de VC++ y agregar la ruta al archivo .lib a la ruta de las bibliotecas, pero no me ayudó.

¿Qué me estoy perdiendo?

Respuesta

2

Proyecto-> Propiedades-> Propiedades de configuración-> Enlazador-> Línea de comando. Deletrea your_lib_name.lib allí para vincularlo. Alternativamente, use la opción Linker-> Input-> Additional dependence (hace lo mismo que especificar directamente libs en la línea de comandos). En cuanto a .h - solo #include. Sin embargo, es posible que desee agregar una ruta de inclusión.

20

Si tiene archivos externos, no puede usar la pestaña de referencia porque solo hace referencia al proyecto en la solución actual, por lo que tiene que hacerlo manualmente.

Para alcanzar su objetivo sólo tiene que seguir el siguiente paso

  1. clik izquierdo en su Proyecto y seleccione Propiedades
  2. En los diálogo de propiedades de ir a Propiedades de configuración (en el siguiente paso, asumiremos siempre estar en Propiedades de configuración)
  3. En C/C++ -> General editar el inclusión adicionales Directorios propiedad añadiendo la ruta a su archivo de cabecera (archivo .h)
  4. En Enlazador -> General editar los directorios de librerías adicionales propiedad de la adición de la ruta de la biblioteca estática (Lib archivo)
  5. En Enlazador -> entrada editar el Dependencias adicionales propiedad añadiendo el nombre de su biblioteca ( nombre de su archivo .lib )

Ahora puede utilizar simplemente la función de la biblioteca estática simplemente incluyendo la cabecera .h en su archivo de código (#include "myLib.h")

+0

Cuando intento esto, puedo compilar correctamente el programa, pero cuando intento ejecutarlo, aparece un cuadro de diálogo de alerta con el mensaje de error 'El programa no puede iniciarse porque TheLibrary.dll falta de su computadora. Intente volver a instalar el programa para solucionar este problema. ¿Alguna idea de por qué quiere el archivo dll en tiempo de ejecución? Porque ese no debería ser necesario si uno usa el archivo 'lib' en tiempo de compilación, ¿verdad? –

+0

Hmm ... Fue un problema con mi biblioteca. Fue creado como una biblioteca compartida, y no como una biblioteca estática.Cuando lo cambié, comenzó a funcionar. ¿Pero por qué la biblioteca compartida produce un archivo 'lib'? –

+1

Esto no funciona con VC++ 2015 .... – zezba9000

Cuestiones relacionadas