LINUX.ORG.RU

[cmake] Слинковать библиотеку

 


0

1

Что-то до конца не могу разобраться как слинковать посторонюю библиотеку.

Например, есть библиотека liba.a в папке libs. Я так понял что нужно воспользоваться find_library().
Только до конца не понял сам принцип и порядок линковки ее. Не могли бы разжувать? Гугление не помогло. Документация не очень хорошая.

★★★★★

Ответ на: комментарий от jeuta

Нет, чужая. Со своей я знаю как. Да и с установленными в систему тоже просто find_package(). А вот слинковать из папки не свою либу не понял.

Zodd ★★★★★
() автор топика
Ответ на: комментарий от Zodd

А что, спелл target_link_libraries (${PROJECT_NAME} library_name) не помогает? Пути добавь к библиотеке LINK_DIRECTORIES(«path_to_library») А для find_package можешь свой скрипт написать, который нужные переменные настраивает, и заинклудить.

slackwarrior ★★★★★
()
Ответ на: комментарий от yoghurt

В общем собрал так:

cmake_minimum_required(VERSION 2.8)

set(PROJECT test)
project(${PROJECT})

find_library(F2C libf2c.a clapack/F2CLIBS)
find_library(BLAS blas_LINUX.a clapack)
find_library(LAPACK lapack_LINUX.a clapack)

set(HEADERS clapack/INCLUDE/f2c.h)
set(SOURCES main.cpp)
add_executable(${PROJECT} ${HEADERS} ${SOURCES})

target_link_libraries(${PROJECT} ${LAPACK} ${BLAS} ${F2C})

Zodd ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.