У меня есть библиотека, управляемая autotools. У меня есть следующие строки в Makefile.am
, а также другие необходимые конфигурацииКак заставить тестовую программу связываться со статической библиотекой, созданной libtool
lib_LTLIBRARIES = libstuff.la
Мой проект также строит программу для запуска некоторых тестов. Эта программа имеет следующую конфигурацию:
noinst_PROGRAMS = runtests
runtests_SOURCES = test/stuff.c stuff.h
runtests_LDADD = libstuff.la
Однако программа всегда связана с динамической версией libstuff.la
, что усложняет некоторые ситуации (например, отладки с gdb
). Как я могу заставить программу связываться с libstuff.a
вместо libstuff.so
или эквивалентной динамической библиотеки?
Отладка не сложно. Вам просто нужно запомнить все префикс с помощью 'libtool --mode = execute'. Для gdb это означает: 'libtool --mode = выполнить gdb runtests'. Просто как тот. –
@ jørgensen это, кажется, хорошее решение, но не сработало. Я запускал 'libtool --mode = execute gdb runtests' и получил ' libtool: неизвестный символ опции '- 'in: --mode = execute'. Использование 'i686-apple-darwin10-gcc-4.2.1' в Mac OS и autotools 2.61. – brandizzi