todas sirve que para librerias libreria las hace and python cmake shared-libraries boost-python

python - sirve - que hace la libreria numpy



CMake el nombre de salida para la biblioteca cargada dinĂ¡micamente? (2)

El prefijo "lib" es una convención para unix / linux y los compiladores lo explotan ampliamente (por ejemplo, cuando lo vincula, escribe -lfoo).

No sé si puedes forzar a cmake a crear foo.so en lugar de libfoo.so, pero quizás puedas usar "libfoo" para el módulo de python. Otra opción es crear un destino de instalación en cmake, que renmae libfoo.so a foo.so

Intento escribir cmake rules para compilar una biblioteca cargada dinámicamente para python usando boost.python en linux. Me gustaría usar ''foo'' para el nombre del módulo de Python. Entonces, la biblioteca debe llamarse foo.so Pero de forma predeterminada, cmake usa reglas estándar para nombrar bibliotecas, así que si escribo

add_library(foo foo.cpp)

Voy a obtener libfoo.so en la salida. Incluso set_target_properties(foo PROPERTIES OUTPUT_NAME "foobar") creará libfoobar.so .

¿Cómo cambiar este comportamiento?


Puede desarmar el prefijo con esta línea:

set_target_properties(foo PROPERTIES PREFIX "")