Связывание 2 статических библиотек с target_link_libraries - PullRequest
0 голосов
/ 04 октября 2018

Я пытаюсь связать две статические библиотеки с помощью cmake, но не получаю ожидаемого результата, когда просматриваю библиотеки с использованием ar -t.

Небольшой пример, где библиотека A связана с B:

Файл a.c:

void a(){}

Файл b.c:

void b(){}

Файл CMakeLists.txt:

project(test C)

add_library(a STATIC "a.c")
add_library(b STATIC "b.c")
target_link_libraries(a b)

IОжидается увидеть оба объектных файла в выводе ar -t liba.a, но вместо этого я вижу только a.c.o в выводе.

1 Ответ

0 голосов
/ 04 октября 2018

Вы всегда можете отладить свой CMakeLists.txt, используя аргумент VERBOSE = ON, чтобы (в Linux) таким образом вы могли проверить, соответствуют ли команды ожидаемым вами.

$> make VERBOSE=ON

В вашем случае CMakeсканировать зависимости ac и отбрасывать bc как реальную зависимость для ac , поэтому она не связана.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...