2 / 2 / 0
Регистрация: 27.07.2012
Сообщений: 31
|
|
1 | |
MinGW+MSYS - как грамотно пользоваться?11.08.2012, 20:42. Показов 7036. Ответов 2
Метки нет (Все метки)
Вопрос:
Добрый день, уважаемые форумчане! У меня такой вопрос: Пытаюсь собрать PostgreSQL под Windows, используя связку MinGW+MSYS. Раньше не пользовался MSYS, по сему вопрос от неопытности. Итак, скачал исходники, запустил configure, процесс пошёл... и тут же возникает проблема отсутствия zlib. Её тоже скачал, собрал (благо там-то всё просто). Снова запускаю ./configure для PostgreSQL, но проблема остаётся. Оно и понятно - библиотека zlib лежит в специально отведённой для этих целей папке на D:/, и autoconf (ведь в MSYS эта программа используется?) там их искать и не пытается. Конечно, про сборке PostgreSQL можно отказаться от zlib, но дело не в этом, хочется выяснить, как же указать где искать библиотеки и заголовочники? В ./configure --help я нашёл только один флаг, который должен бы решить эту проблему: --with-libraries=DIR - Looking for additional libraries in DIR , однако вызов ./configure --with-libraries="D:/Develop/lib" ... не исправил проблему. Так же, добавил папку с библиотеками в PATH - на всякий случай, а вдруг? Тоже самое В общем, надеюсь, что те кто часто собирает что-то из исходников под Windows, знают об этой проблеме и её решении. Благодарю за ответы Добавлено через пару часов Ответ: Кажется разобрался. Напишу сюда решение, мало ли кому пригодится. Как я понял, при выполнении скрипта ./configure кроме всего прочего производится проверка присутствия в системе тех или иных библиотек (в моём случае, это zlib). Такая проверка осуществляется очень просто: для каждой библиотеки создаётся и собирается простейшая программа, и в случае, если ошибок нет, значит нужна библиотека есть, а если были ошибки (например, ошибка линковщика, или отсутствие заголовочников), значит библиотеки нет. Просто и эффективно. Если заголовочники и библиотеки находятся не в стандартной директории (в моём случае, в D:/Develop/lib и D:/Develop/include), то при запуске ./configure необходимо передать ему ключ CFLAGS или CPPFLAGS, в зависимости от того, какой компилятор используется при сборке (например, gcc или g++ соответственно). В качестве значения для этого ключа нужно передать пути к заголовочникам и либам. В моём случае это была команда: ./configure CFLAGS="-ID:/Develop/include -Wl,-LD:/Develop/lib/" Я использовал CFLAGS, а не CPPFLAGS, так как при сборке PostgreSQL используется gcc. Значение ключа передаётся компилятору при сборке тестовых программ, и будет передаваться при сборке проекта после конфигурирования. Ключ "-I" - это gcc ключ, который дополнительную директорию для поиска заголовочников. Ключ -Wl означает, что все последующие после запятой ключи будут переданы из gcc линковщику. Ключ -L - это уже ключ линковщика (ld), с помощью которого мы добавляем ещё одну директорию для поиска библиотек Когда будет выполняться ./configure, он, при сборке тестовых примеров, будет передавать эти ключи компилятору, и библиотека zlib будет успешно найдена. Кстати, ещё одна штука: при сборке zlib из исходников с использованием CMake, собранная библиотека будет называться не libz (какую ищет ./configure у PostgreSQL), а libzlibstatic. Я просто переименовал её в libz и всё готово - PostgreSQL собрался под виндой.
0
|
11.08.2012, 20:42 | |
Ответы с готовыми решениями:
2
Компиляция в MSYS (MinGW) Научите пользоваться MinGW MINGW+MSYS Как пользоваться компилятором MinGW |
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,686
|
|
12.08.2012, 00:34 | 2 |
А почему не скачал инсталлятор? Что за необходимость была собирать из исходников?
У меня вот есть необходимость. Скинь, пожалуйста, исходники!
0
|
2 / 2 / 0
Регистрация: 27.07.2012
Сообщений: 31
|
|
12.08.2012, 14:13 [ТС] | 3 |
Мне нужно было собрать libpqxx.
Конечно, можно было не собирать PostgreSQL, а установить его, но я всё же собрал, так как хотелось:
А исходники ведь доступны, вот они: http://www.postgresql.org/ftp/source/ Открываем папку с нужной версией и качаем архив
0
|
12.08.2012, 14:13 | |
12.08.2012, 14:13 | |
Помогаю со студенческими работами здесь
3
Нужно создать бат файл, который запускает msys, и далее, уже в msys, выполняются определенные действия как пользоваться программатором для Whirlpool, раздобыл программатор, а как им пользоваться я не знаю MinGW, при установке ошибка: unpacking mingw-get-0.6.2-mingw32-beta-20131004-1-bin.tar.xz MSYS и Mikefile Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи | |||||
Как написать микросервис на Go/Golang
InfoMaster 14.01.2025
Определение микросервиса, преимущества использования Go/ Golang
Микросервис – это архитектурный подход к разработке программного обеспечения, при котором приложение состоит из небольших, независимо. . .
|
Как написать микросервис с нуля на C#
InfoMaster 14.01.2025
В современном мире разработки программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот архитектурный подход предполагает. . .
|
Как создать интернет-магазин на PHP и JavaScript
InfoMaster 14.01.2025
В современном мире электронная коммерция стала неотъемлемой частью бизнеса. Создание собственного интернет-магазина открывает широкие возможности для предпринимателей, позволяя достичь большей. . .
|
Как написать Тетрис на Ассемблере
InfoMaster 14.01.2025
Тетрис – одна из самых узнаваемых и популярных компьютерных игр, созданная в 1984 году советским программистом Алексеем Пажитновым. За прошедшие десятилетия она завоевала симпатии миллионы людей по. . .
|
Как создать игру "Танчики" на Unity3d и C#
InfoMaster 14.01.2025
Разработка игр – это увлекательный процесс, сочетающий в себе творчество и технические навыки. В этой статье мы рассмотрим создание классической игры "Танчики" с использованием Unity3D и языка. . .
|
Организую платный онлайн микро-курс по доработке Android-клиента Telegram
_Ivana 14.01.2025
Официальная версия и распространенные форки не полностью устраивают? Сделай свою кастомную версию клиента!
4 занятия по 2 часа (2 недели пн, ср 19:00-21:00 по Москве).
Первое вводное занятие. . .
|
Как создать приложение для фитнеса для iOS/iPhone на Kotlin
InfoMaster 14.01.2025
Создание собственного фитнес-приложения — это не только захватывающий, но и полезный процесс, ведь оно может стать вашим верным помощником на пути к здоровому и активному образу жизни. В современных. . .
|
Как создать приложение магазина для iOS/iPhone на Swift
InfoMaster 14.01.2025
Введение в разработку iOS-приложений
Разработка приложений для iPhone и других устройств на базе iOS открывает огромные возможности для создания инновационных мобильных решений. В данной статье мы. . .
|
Это работает. Скорость асинхронной логики велика. Вопрос видимо останется в стабильности. Плата - огонь!
Hrethgir 13.01.2025
По прошлому проекту в Logisim Evolution https:/ / www. cyberforum. ru/ blogs/ 223907/ blog8781. html прилагаю файл архива проекта в Gowin Eda. Восьмибитный счётчик из сумматора+ генератор сигнала. . .
|
UserScript для подсветки кнопок языков программирования в зависимости от текущего раздела
volvo 13.01.2025
В результате работы этого скрипта подсвечиваются нужные кнопки не только в форме быстрого ответа, но и при редактировании сообщения:
/ / ==UserScript==
/ / @name CF_DefaultLangSelect
/ / . . .
|
Введение в модели и алгоритмы машинного обучения
InfoMaster 12.01.2025
Машинное обучение представляет собой одну из наиболее динамично развивающихся областей искусственного интеллекта, которая фокусируется на разработке алгоритмов и методов, позволяющих компьютерам. . .
|
Как на Python создать нейросеть для решения задач
InfoMaster 12.01.2025
В контексте стремительного развития современных технологий особое внимание уделяется таким инструментам, как нейросети. Эти структуры, вдохновленные биологическими нейронными сетями, используются для. . .
|