He trabajado con un par de Visual C++ compiladores (VC97, VC2005, VC2008) y realmente no he encontrado una visibles forma de agregar las bibliotecas externas a mi construye. Yo vengo de una Java de fondo, y en bibliotecas de Java son todo!

Entiendo a partir de la compilación de los proyectos de código abierto en mi caja de Linux que todo el código fuente de la biblioteca parece ser incluidos, con la excepción de aquellos .por lo que los archivos.

También he oído hablar de el .lib bibliotecas estáticas y .dll bibliotecas dinámicas, pero todavía no estoy del todo seguro de cómo agregarlos a construir y hacer que funcionen. ¿Cómo se hace esto?

InformationsquelleAutor leeand00 | 2008-10-17

6 Comentarios

  1. 7

    En creo que puedes estar pidiendo a la mecánica de cómo agregar una lib para un proyecto/solución en el IDEs…

    En 2003, 2005 y 2008 es algo similar a:

    desde el explorador de soluciones – clic derecho en el proyecto
    seleccione propiedades (normalmente el último)
    Yo suelo seleccionar todas las configuraciones en la parte superior…
    Enlazador
    De entrada

    Dependencias adicionales ir allí

    Me gustaría poder hacer una captura de pantalla de este.

    En VC6 es diferente, me lo como todo esto es de memoria

    configuración del proyecto o propiedades y, a continuación, vaya a la enlazador ficha y donde encontrar el libs puede ser añadido.

    Por favor, disculpe la caprichosa naturaleza de este post. Creo que es lo que quieres, aunque.

  2. 15

    Bibliotecas en C++ también se consideran útiles, pero la forma de integrarlos es diferente a Java, ya que el compilador sólo tiene que ver el interfaz de la biblioteca, que normalmente es declarado en los archivos de encabezado. En Java, el compilador tiene que inspeccionar el real bibliotecas debido a que Java no tiene esta distinción entre un externamente visible archivo de encabezado y generar el código objeto garantizar la aplicación.

    Lo que normalmente se hace es generar las bibliotecas por separado, una vez, y poner el generado lib/archivos dll además de los archivos de encabezado en un lugar que los proyectos que requieren de la biblioteca se puede acceder. Un lenguaje común es poner los archivos de encabezado en include, las bibliotecas estáticas en lib y la dinámica de las bibliotecas en bin subdirectorios para su biblioteca compilada.

    La razón por la que han encontrado que la mayoría de las bibliotecas de C++ se proporcionan en forma de código fuente y no en precompilado forma es que cada compilador de C++ tiene una cierta libertad en cuanto a cómo destrozar los nombres de los símbolos, etc y el objeto resultante de código no es portable a través de los compiladores, y no digamos de los sistemas operativos. Por lo que el envío el código compilado no tiene sentido para un montón de aplicaciones. Puede que te encuentres con código cerrado bibliotecas de C++ en Windows (C las bibliotecas son un asunto completamente diferente), pero, a continuación, el proveedor deberá proporcionar una versión compilada para cada tipo de construcción (de Liberación, de Depuración, de 32 bits, 64 bits, etc) y el objetivo del compilador (varias versiones de Visual Studio requieren diferentes de archivos binarios, entonces no es de Borland y un montón de otros compiladores), y rápidamente se convierte en una pesadilla para apoyar…

    Cuando usted toma una biblioteca y generar una dinámica en la biblioteca de Windows (es decir, una DLL), el compilador/enlazador se generan normalmente estática ‘importación’ de la biblioteca a por ello (del mismo nombre, sólo con una .lib extensión). Al vincular su proyecto frente a la biblioteca dinámica, se debe especificar el .archivo lib como una biblioteca de dependencia. La vinculación de su aplicación en contra de dicho importación de la biblioteca permite que el vinculador registro de la dependencia en el .archivo dll y también que los símbolos se debe esperar a que la biblioteca proporcione.

    Hacer ellos el trabajo – en el sentido de su programa de búsqueda de ellos en Windows normalmente requiere que el .archivo dll se encuentra en el mismo directorio que el ejecutable o accesible a través de la RUTA de la variable de entorno y su equivalente en Visual C++.

    • -1 Bibliotecas que están distribuidos como archivos binarios de venir acompañada de una biblioteca de importación (.lib). Nombre de destrozarlo es completamente irrelevante aquí, como los nombres de los símbolos aparecen en el .archivo lib. Si los símbolos son un compilador alterados (C++) los nombres, de un proveedor de exportar los nombres tal como aparece en una .archivo def, o la (re-)denominado símbolos asignados por el desarrollador en el vinculador de la línea de comandos (/EXPORTACIÓN) no hacer una diferencia. Los nombres de los símbolos están disponibles para cualquier enlazador.
    • Nombre de destrozarlo puede ser irrelevante, pero las convenciones de llamada y tiempo de ejecución de la biblioteca no es. Si usted no es cuidadoso al diseño de la biblioteca, se pueden asociar fácilmente el binario a una determinada versión del compilador.
  3. 8

    Aceptar. normalmente, usted no quiere cargar librerías dinámicas con la mano, pero si lo haces, busca en LoadLibrary.
    entonces usted tiene que llamar a otras funciones para obtener la función de puntero de direcciones y así sucesivamente.
    Normalmente, cómo funciona, es aún .los archivos dll tener .archivos lib para ellos.. así que cuando se necesitan, se acaba de cargar automáticamente.

    cómo se especifique .archivos lib /bibliotecas estáticas es en Propiedades/Enlazador de Entrada/->Dependencias Adicionales. en la interfaz de usuario.

    si son de secuencias de comandos de esta.. bien. usted acaba de mencionar el .lib archivos en la línea de comandos en tiempo de vínculo.

  4. 3

    Para la adición de las bibliotecas, esto es muy sencillo (si es eso a lo que te refieres) Proyecto -> propiedades -> configurar propiedades -> Enlazador -> Entrada -> bibliotecas adicionales. Ir de pie en una de las bibliotecas y presione entrar. Se libera un espacio para añadir una biblioteca, vistoso como el pastel 🙂

  5. 2

    Para añadir librerías externas o directorios de biblioteca en un proyecto de VC++ siga estos pasos:

    1 – Ir a las propiedades del proyecto (que se puede hacer haciendo clic derecho sobre el proyecto en la solución)


    2 – Seleccione ‘Linker’ > General > Adicional Biblioteca de Directorios


    3 – haga Clic en el vacío de la barra en frente de Adicionales de los Directorios de Biblioteca’ y VS le permite añadir los directorios por defecto en la que se busca para las bibliotecas necesarias.

  6. 1

    ¿Qué quiere usted decir con «agregar a una generación»?

    En VC, dentro de una solución, usted puede tener un proyecto cuya salida es una biblioteca (estático o dinámico) y, a continuación, otro proyecto que depende de la salida y la utiliza (es decir, los enlaces a la misma).

    En nuestra base de código, normalmente tenemos una solución independiente para cada biblioteca o un conjunto de bibliotecas y vincularlos a proyectos. La mayoría de nuestros proyectos destino son ensamblados administrados – aquellos que necesitan no administrado funcionalidad normalmente están escritos en C++ administrado o C++/CLI y el vínculo en no administrado bibliotecas estáticas. Hemos encontrado que este ha sido el más fácil de mantener ya que el no administrado bibliotecas cambiar el menos.

Dejar respuesta

Please enter your comment!
Please enter your name here