C++, динамическая компоновка

204
17 декабря 2019, 06:20

Есть динамическая библиотека(своя). Она использует другие библиотеки. Собираю под Linux, используя CMake. Приложение использует хидеры из этой библиотеки, чтобы наследоваться и прочее.

Проблема: Мне приходится в обязательном порядке в приложении указывать те же библиотеки, что использует моя библиотека. А так же приходится явно указывать все папки с хидерами(но это нормально уже). Есть вариант НЕ указывать библиотеки, которые использует моя библиотека(в ней они и так указываются при сборке)?

Answer 1

А почему бы не использовать плюшки самого cmake, чтобы избежать лишней возни?

Если у вас есть библиотека, вроде:

add_library(mylib ${mylib_SRC})

то логично использовать эту же цель и для других сборок:

add_executable(myexe main.cpp)
target_link_libraries(myexe PRIVATE mylib)

Заголовочники же можно указать как PUBLIC или INTERFACE, чтобы они автоматом подключались для цели, к которой будет слинкована библиотека

target_include_directories(mylib PUBLIC mylib_include_dir)
READ ALSO
Аналог JButton на SFML c++

Аналог JButton на SFML c++

Не могу понять каким образом в теории можно реализовать аналог JButton на SFML для моего небольшого проектаТак как для меню нужно много переключателей...

201
Использование template в C++

Использование template в C++

Всех приветствуюПытаюсь понять как использовать template в С++

204
В переменную записывается символ, а не строка

В переменную записывается символ, а не строка

ситуация следующая, в файле находится 3 словаii - переменная содержащая число 3 (good переменная типа fstream(если важно)), goods - string

177
typedef для функции

typedef для функции

Хочу создать ссылку на функцию так как очень длинная цепочка вызова каждый раз

224