none
Como hacer referencia a una biblioteca de clases en C++ desde otro proyecto?

    Question

  • Hola que tal, alguien podria ayudarme!

    Para una solucion en Visual Studio 2010, dos posibles casos:

    • Cuando nuestros proyectos son:
      • Un proyecto de tipo WinForms en C#
      • Una libreria de clases estatica (.LIB) en C++.
      • Se necesita saber:
        • Como hacer referencia a la libreria estatica (.LIB) en C++ para poder usar todos los metodos de sus clases desde el proyecto programado en C#.
    • Cuando nuestros proyectos son:
      • Una libreria de clases (DLL) en C++.
      • Una  libreria de clases estatica (.LIB) en C++
      • Se necesita saber:
        • Como hacer referencia a la libreria estatica (.LIB) en C++ para poder usar todos los metodos de sus clases desde la libreria de clases dinamica (.DLL)

    Yo he encontrado que se puede hacer referencia de esta forma:

    Click right on the project > Properties > Common Properties > Framework and References > Add New Reference > Select Project

    Solo que de ahi hace falta algo mas que todavia no se para poder hacer uso de la libreria en el codigo, agrego un include o que onda?

    Gracias!

    Wednesday, February 13, 2013 11:42 PM

Answers

  • Hola.

    En el primer caso no puedes directamente. Tienes que crearte una DLL con funciones (sin clases de C++) y luego copiar esa DLL en algún lado del la ruta PATH de tu ordenador (la misma carpeta en donde esté el exe de C# te valdría) y cargarla mediante interop por atributos, definiéndote una función estática en C#y mapeandola a la DLL mediante los atributos.

    Para el segundo caso, en las opciones del enlazador tienes que añadir el fichero LIB y luego, para usar sus funciones, tienes que tener un fichero cabecera que incluya la definición de dichas funciones. La idea es tener un .h sin .cpp ya que el CPP ya está compilado dentro de la LIB.


    MVP Visual C++ - Visita mi blog sobre desarrollo: http://geeks.ms/blogs/rfog/

    Tuesday, April 09, 2013 1:46 PM