Есть пакет, использующий OpenGL. Чтобы обеспечить линковку я должен переменной AM_LDFLAGS указать GL-библиотеку. Но в gcc для Windows эта библиотека подключается -lopengl32, а в POSIX-ах -lGL. Что я должен проверить в конструкции #ifdef ... #else #endif, чтобы избавиться от конфликта имен библиотек?
DimaO
> Что я должен проверить в конструкции #ifdef ... #else #endif, чтобы избавиться
> от конфликта имен библиотек?
http://www.boost.org/doc/libs/1_54_0/boost/config/select_platform_config.hpp
В мейкфайле ничего проверять не нужно. Этим автоконф занимается.
Нужно в configure.ac написать нужные проверки и эскпортировать полученные флаги в makefile или заюзать это: https://www.gnu.org/software/autoconf-archive/ax_check_gl.html
j7wk, то что надо. Спасибо
Подниму, чтобы не создавать новый тред. Использую в configure.ac макросы AM_PATH_SDL и AX_CHECK_GL. Файлы с этими макросами лежат в локальном каталоге ./m4, то есть ./m4/sdl.m4 и ./m4/ax_check_gl.m4 (pthread тоже там). В Makefile.am верхнего уровня есть строка ACLOCAL_AMFLAGS = -I m4. В результате макрос AM_PATH_SDL вызывается autoconf-ом, а AX_CHECK_GL игнорируется напрочь, как и строка LIBS="$LIBS $GL_LIBS". В out файлах aclocal-а по ax_check_gl тишина.
Это баг autoconf? Сторонние проекты с SDL и OpenGL собираются.
Тема в архиве.