c++ add - Agregar una biblioteca externa al proyecto de Qt Creator




4 Answers

La forma correcta de hacer esto es así:

LIBS += -L/path/to -lpsapi

De esta forma funcionará en todas las plataformas compatibles con Qt. La idea es que debe separar el directorio del nombre de la biblioteca (sin la extensión y sin ningún prefijo 'lib'). Por supuesto, si incluye una lib específica de Windows, esto realmente no importa.

En caso de que quiera almacenar sus archivos lib en el directorio del proyecto, puede hacer referencia a ellos con la variable $$_PRO_FILE_PWD_ , por ejemplo:

LIBS += -L"$$_PRO_FILE_PWD_/3rdparty/libs/" -lpsapi
library manejo

¿Cómo puedo agregar una biblioteca externa a un proyecto creado por Qt Creator RC1 (versión 0.9.2)? Por ejemplo, la función win32 EnumProcesses() requiere que Psapi.lib se agregue en el proyecto para compilar.




LIBS + = C: \ Archivos de programa \ OpenCV \ lib

no funcionará porque está usando espacios en blanco en Archivos de programa. En este caso, debe agregar comillas, por lo que el resultado se verá así: LIBS + = "C: \ Archivos de programa \ OpenCV \ lib" . Recomiendo colocar bibliotecas en ubicaciones que no sean de espacio en blanco ;-)




Y para agregar múltiples archivos de biblioteca puede escribir de la siguiente manera:

INCLUDEPATH * = E: / DebugLibrary / VTK E: / DebugLibrary / VTK / Common E: / DebugLibrary / VTK / Filtering E: / DebugLibrary / VTK / GenericFiltering E: / DebugLibrary / VTK / Graphics E: / DebugLibrary / VTK / GUISupport / Qt E: / DebugLibrary / VTK / Hybrid E: / DebugLibrary / VTK / Imaging E: / DebugLibrary / VTK / IO E: / DebugLibrary / VTK / Parallel E: / DebugLibrary / VTK / Rendering E: / DebugLibrary / VTK / Utilities E : / DebugLibrary / VTK / VolumeRendering E: / DebugLibrary / VTK / Widgets E: / DebugLibrary / VTK / Wrapping

LIBS * = -LE: / DebugLibrary / VTKBin / bin / release -lvtkCommon -lvtksys -lQVTK -lvtkWidgets -lvtkRendering -lvtkGraphics -lvtkImaging -lvtkIO -lvtkFiltering -lvtkDICOMParser -lvtkpng -lvtktiff -lvtkzlib -lvtkjpeg -lvtkexpat -lvtkNetCDF -lvtkexoIIc -lvtkftgl -lvtkfreetype -lvtkHybrid -lvtkVolumeRendering -lQVTKWidgetPlugin -lvtkGenericFiltering




Me gustaría agregar, para mayor completitud, que también puede agregar solo la RUTA DE LA BIBLIOTECA, donde buscará una biblioteca dependiente (que puede no estar referenciada directamente en su código pero puede necesitar una biblioteca que use).

A modo de comparación, esto correspondería a lo que hace el entorno LIBPATH, pero es algo así como oscuro en Qt Creator y no está bien documentado.

La forma en que surgió esto es la siguiente:

LIBS += -L"$$_PRO_FILE_PWD_/Path_to_Psapi_lib/"

Básicamente, si no proporciona el nombre real de la biblioteca, agrega la ruta hacia donde buscará las bibliotecas dependientes. La diferencia en la sintaxis es pequeña, pero esto es muy útil para proporcionar solo la RUTA donde buscar bibliotecas dependientes. En algún momento, es un fastidio suministrar a cada ruta una biblioteca individual en la que usted sabe que todas están en cierta carpeta y Qt Creator las recogerá.




Related

c++ winapi qt qt-creator