Intuyo por la etiqueta del post que quieres crear una librería en C++.
Si es así, te recomiendo usar CMake para crearla independiente de plataforma y de entorno de desarrollo.
Crearía la siguiente estructura de directorios:
- MyLibrary
- CMakeLists.txt
- include
- Person.h
- src
- Person.cpp
El contenido de Person.h podría ser por ejemplo:
#ifndef PERSON_H__
#define PERSON_H__
#include <string>
class Person{
private:
std::string mName;
std::string mAddress;
public:
Person(const std::string name, const std::string address);
~Person();
};
#endif
El contenido de Person.cpp sería:
#include "Person.h"
Person::Person( const std::string name, const std::string address )
{
mName = name;
mAddress = address;
}
Person::~Person()
{
}
Finalmente, el script de CMake que pongo a continuación crearía un proyecto en el entorno de desarrollo que quieras (y que esté soportado por CMake):
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
# Nombre del proyecto
PROJECT(MyLibrary)
# Directorios de inclusión
INCLUDE_DIRECTORIES(
${PROJECT_SOURCE_DIR}/include
)
# Agrupar fuentes y cabeceras en variables separadas
FILE(GLOB SRCS src/*.cpp)
FILE(GLOB HDRS include/*.h)
# Crear la librería añadiendo los fuentes y las cabeceras anteriores
ADD_LIBRARY(MyLibrary
${SRCS}
${HDRS}
)
# Instalación de cabeceras en el directorio de destino
INSTALL(FILES ${HDRS}
DESTINATION include/)
# Establecer el directorio de instalación, en nuestro caso, directorio donde CMake genera los binarios, subdirectorio dist
SET(CMAKE_INSTALL_PREFIX
${PROJECT_BINARY_DIR}/dist CACHE PATH "${PROJECT_NAME} install prefix" FORCE
)
# Instalamos el lib generado en el directorio mencionado anteriormente
INSTALL(TARGETS MyLibrary
ARCHIVE DESTINATION lib
)
Si buscas crear una librería dinámica en lugar de estática, los parámetros cambian un poco, pero esencialmente se seguirían los mismos pasos.
CMake: http://cmake.org
