LINUX.ORG.RU

gcc, autoconf/automake, boost_threads


0

0

Не разберусь никак, что нужно сделать, чтобы в Makefile.am добавлялся параметр "-lboost_threads" (или "-lboost_threads-gcc-mt" в cygwin).
В configure.ac имею:
AC_CHECK_LIB(boost_thread, main)
AC_CHECK_HEADERS([/usr/include/boost/thread/thread.hpp /usr/include/boost/bind.hpp])

anonymous

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

1) В configure.ac прописал: AC_CHECK_HEADERS([/usr/include/boost/thread/thread.hpp /usr/include/boost/bind.hpp]) AC_CHECK_LIB(boost_thread, main, [], [ AC_CHECK_LIB(boost_thread-gcc, main, [], [ AC_CHECK_LIB(boost_thread-gcc-mt, main, [], [ AC_CHECK_LIB(boost_thread-gcc-mt-s, main, []) ]) ]) ]) это чтобы работало также с сигвиновским бустом.

2) В Makefile.am исправил LIBS=$(DEPS_LIBS) на LIBS += $(DEPS_LIBS)

anonymous
()
Ответ на: комментарий от anonymous

Теперь еще раз с форматированием:

1) В configure.ac прописал:
AC_CHECK_HEADERS([/usr/include/boost/thread/thread.hpp /usr/include/boost/bind.hpp])
AC_CHECK_LIB(boost_thread, main, [], [
  AC_CHECK_LIB(boost_thread-gcc, main, [], [
    AC_CHECK_LIB(boost_thread-gcc-mt, main, [], [
      AC_CHECK_LIB(boost_thread-gcc-mt-s, main, [])
      ])
    ])
  ])
это чтобы работало также с сигвиновским бустом.

2) В Makefile.am исправил LIBS=$(DEPS_LIBS) на
LIBS += $(DEPS_LIBS)

anonymous
()
Ответ на: комментарий от anonymous

LIBS вообще не трогай, AC_CHECK_LIB сам туда добавит всё что надо. Что-то дополнительное можно всунуть через AM_LDFLAGS или проект_LIBADD

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

>LIBS вообще не трогай

то есть так: (сейчас проверить не могу)?

AM_LDFLAGS = -Wall -g -O3$(LDFLAGS)$(DEPS_LIBS) LIBS = $(DEPS_LIBS)

anonymous
()
Ответ на: комментарий от anonymous

если нужны полностью свои флаги, можно перезаписать LDFLAGS и CFLAGS в configure.ac, либо поправить их с помощью sed там же.

AM_*FLAGS переменные дают дополнительные ключи компиляции и линковки, НО в строке компиляции в Makefile, CFLAGS идёт после AM_CFLAGS, а это значит, что некоторые флаги того же gcc могут перезаписываться (например, флаг -fno-exceptions).

info autoconf, короче.

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

>>AC_CHECK_HEADERS([boost/thread/thread.hpp boost/bind.hpp])

>>Я тоже так думал, но почему-то не работало.

AC_LANG_SAVE
AC_LANG_CPLUSPLUS

AC_CHECK_HEADERS([boost/thread/thread.hpp boost/bind.hpp])

AC_LANG_RESTORE

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