votar votantes unidos registro registrarse registertovote para estados cómo c++ boost logging

c++ - votantes - ¿Qué es el registro de impulso, cómo obtenerlo y cómo construirlo?



cómo registrarse para votar#registertovote (5)

Después de muchas búsquedas y pruebas, descubrí esto.

  • Descarga el Boost deseado (lo probé en la versión estable 1.51)

  • Revisar boost-log desde here y copiar <boost-log>/boost/log y <boost-log>/libs/log a <boost>/boost/log y <boost>/libs

  • Asegúrate de tener un compilador compatible (¡mi problema era eso!) Funcionó con gcc 4.1.7)

  • correr

    ./bootstrap.sh --with-libraries=all --prefix=<dir_to_install>

    y

    ./b2 address-model=32

Si todo va según lo planeado, se creará un directorio <boost>/stage/libs con las librerías compiladas (incluido libboost_log.so)

Notas:

  • No estoy seguro de por qué, pero el prefijo no funcionó. Esperaba ver las bibliotecas construidas allí.

  • Usa b2 no bjam .

  • No es necesario modificar Jamfile en <boost-log> .

  • Recibí un montón de advertencias pero no cuando construí el registro.

Espero que ayude a alguien.

Así que escuché cosas buenas sobre el registro de refuerzo. Esto reclama su existencia:

http://boost-log.sourceforge.net/libs/log/doc/html/index.html

Este es el tutorial:

http://boost-log.sourceforge.net/libs/log/doc/html/log/tutorial.html#log.tutorial.trivial

Sin embargo, aumentar el registro no es parte del impulso. Por lo tanto, no en la rama de impulso regular.

Uno puede descargar el registro de impulso por separado desde aquí:

http://sourceforge.net/projects/boost-log/

Puede que yo sea muy inexperto, pero las instrucciones de instalación son muy malas. Sin embargo, después de descargar y copiar las carpetas boost y lib en la carpeta boost, puedo ejecutar bootstrap y bjam. Esto falla con los errores relacionados con las versiones Boost.Filesystem, similares a las mencionadas aquí:

http://boost.2283326.n4.nabble.com/Boost-Log-compilation-on-msvc-2010-fail-td3488502.html

La recomendación de Andrew Semashev (en el enlace de arriba) es "Utilice Boost.Log v2 (desde el enlace SVN)".

Mirando https://boost-log.svn.sourceforge.net/svnroot/boost-log , solo puedo ver la versión 1.

Mirando http://svn.boost.org/svn/boost/sandbox/ , puedo encontrar boost logging v2 de John Torjo. Sin embargo, solo a partir de la sintaxis que podría no ser el registro de impulso v2 del que Andrew Semashev está hablando.

Viendo que ya paso demasiadas horas en esto, pensé que obtendría algo de ayuda, y tal vez otras personas podrían sacar provecho de esta publicación y de las respuestas y ahorrarse algo de tiempo. No creo que haya sido respondido antes, y supongo que respuestas como estas cambian.

Entonces, aquí va: ¿Qué es boost log v2 de lo que Andrew Semashev está hablando? ¿Es lo mismo que John Torjo? Si no, ¿dónde puedo encontrarlo? ¿Y cómo lo construyo?

Gracias

PD: debería mencionar que esto es en Windows con Visual Studio Express 2010

PPS Adivina "versión 2", que aparentemente es solo el SVN, también tiene problemas, pero con esta línea (ver la respuesta de Sergio a continuación)

<toolset>msvc:<define>BOOST_FILESYSTEM_VERSION=2

en el archivo bjam al menos puedo compilar. Sin embargo, este archivo

#include <boost/log/trivial.hpp> int main(int, char*[]) { BOOST_LOG_TRIVIAL(trace) << "A trace severity message"; BOOST_LOG_TRIVIAL(debug) << "A debug severity message"; BOOST_LOG_TRIVIAL(info) << "An informational severity message"; BOOST_LOG_TRIVIAL(warning) << "A warning severity message"; BOOST_LOG_TRIVIAL(error) << "An error severity message"; BOOST_LOG_TRIVIAL(fatal) << "A fatal severity message"; }

directamente desde el tutorial, aunque ahora compilando y enlazando, no produce ningún resultado ...


Este es el método que seguí para instalar Boost.Log en mi cuadro de Linux. Una nota importante antes de compilar e instalar las bibliotecas de Boost: asegúrese de haber instalado una biblioteca de subprocesos como pthreads . La mayoría de los gerentes de paquetes deberían tenerlos.

Aquí están los pasos de compilación:

Si ya ha instalado Boost desde el origen, entonces está bien continuar al siguiente paso. De lo contrario, descárguelo de here (preferiblemente la última versión (v1.46). Utilicé v1.45). Extraiga las bibliotecas de impulso en decir: /opt . Podemos construir las bibliotecas junto con Boost.Log.

  • Descargue Boost.Log de http://sourceforge.net/projects/boost-log/ .
  • Extraiga el archivo fuente Boost.Log en una carpeta, digamos /opt . Copie la carpeta de registro en: /opt/boost-log-1.0/boost a su directorio de fuentes de refuerzo /opt/Boost_1_45_0/boost (suponiendo que lo haya extraído en /opt ).
  • Copie la carpeta de registro en: /opt/boost-log-1.0/libs a su directorio de boost libs /opt/Boost_1_45_0/libs (suponiendo que lo haya extraído en /opt ). Si no ha instalado otras bibliotecas de Boost, siga estos pasos:
    • cd /opt/Boost_1_45_0
    • .bootstrap.sh --show-libraries - esto .bootstrap.sh --show-libraries todas las bibliotecas que se construirán e instalarán. Debería ver el log listado como parte de él.
    • .bootstrap.sh --with-libraries=all --prefix=/usr/local --includedir=/usr/local/include --libdir=/usr/local/lib
    • ./bjam install

Finalmente, asegúrese de que $LD_LIBRARY_PATH tenga /usr/local/lib (la ruta especificada en bjam para instalar las bibliotecas bjam ) como parte de él. Si no es edite su ~/.bashrc y agregue lo siguiente:

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib export LD_LIBRARY_PATH


Si interpreto la respuesta de Andrew correctamente, su recomendación es no usar una de las versiones empaquetadas de Boost.Log, pero haga una verificación de SVN desde el repositorio de SVN boost-log en SourceForge. Eché un vistazo rápido a los archivos en la cajuela allí y no puedo encontrar ninguna referencia a v1.

Y no, estoy bastante seguro de que no está hablando de Boost.Log v2 de John Torjo, sino de una versión más reciente de Boost.Log que aún no se ha empaquetado para su lanzamiento.

Estamos utilizando Boost.Log y estoy muy contento con él hasta el momento; su pregunta realmente me ayudó a descubrir qué hacer para construir Boost.Log con 1.46.1 ...


boost log v2 es simplemente lo que obtienes revisando trunk, de acuerdo con lo que dice Andrey en la publicación que enlazas.

de hecho, parece que esta versión también tiene problemas para compilar contra boost :: filesystem v3.

si este es también tu caso, una solución está compilando después de agregar

<define>BOOST_FILESYSTEM_VERSION=2

al archivo de audio.

si esto no funciona, entonces, verifique si está compilando una versión de las bibliotecas con subprocesos o subprocesos múltiples. multi-threadred boost-log debe ser más probado (de acuerdo con Andrey).

Espero que esto ayude ... No lo he intentado ...

EDITAR:

donde agregar el?

Lo agregaría a la sección de requirements de boost-log/libs/log/build/Jamfile.v2 , subsección shared :

project boost/log : source-location ../src : requirements <link>shared:<define>BOOST_LOG_DLL <link>shared:<define>BOOST_FILESYSTEM_VERSION=2

EDITAR: del comentario de Cookie, BOOST_FILESYSTEM_VERSION=2 debe especificarse como

<link>msvc:<define>BOOST_FILESYSTEM_VERSION=2

no en shared .


Símbolo desconocido en text_file_backend.cpp en la línea 1197 mientras se crea boost-log-1-1 con boost 1.51.0

Estoy usando Windows MSVC 2010, pero sospecho que el problema que tuve puede ser común a otras plataformas también. Copié las fuentes de boost.log en el árbol de fuentes de impulso 1.51 y ejecuté bootstrap.bat y. / B2 según las instrucciones. La construcción falló, quejándose de que get_generic_category () es un símbolo desconocido en text_file_backend.cpp en la línea 1197

Cambié la línea 1197 de text_file_backend.cpp para que ahora se lea

system::error_code(system::errc::io_error, system::generic_category()));

y volví a ejecutar la compilación. La construcción funcionó.

Espero que esto ayude a alguien más que tiene problemas para construir la biblioteca de impulso de registro con impulso 1.51

Consulte http://www.boost.org/doc/libs/1_51_0/libs/system/doc/reference.html#Deprecated-names para obtener más información sobre este cambio.

Editar: Lo intenté de nuevo usando las fuentes de registro de refuerzo directamente desde el tronco de Subversion, y compiló OK. Entonces la solución es: ignorar boost-log 1.1 y usar el enlace de Subversion.