libmysqlclient15-dev на макинтошах?

Поведение определено в описанием JLS недостижимых операторов :

Оператор then доступен, если утверждение if-then доступно.

blockquote>

Таким образом, компилятор определяет, что оператор then (break;) доступен, независимо от условия в if.

И немного дальше, мой удар:

Базовый оператор for может завершиться нормально, если по крайней мере одно из следующего верно:

  • Оператор for доступен, имеется выражение условия , и выражение условия не является постоянным выражением (§15.28) со значением true.
  • Существует доступная инструкция break, которая выходит из инструкции for.
blockquote>

Таким образом, for может завершиться нормально, потому что then-statement содержит break. Как вы заметили, это не сработает, если вы замените break на return.


Объяснение объясняется в конце раздела. По существу if имеет специальную обработку, позволяющую создавать такие конструкции, как:

if(DEBUG) { ... }

, где DEBUG может быть постоянной времени компиляции.

29
задан maccy1 7 December 2009 в 04:45
поделиться

6 ответов

brew install mysql исправил это для меня

49
ответ дан Peter Ehrlich 14 October 2019 в 07:18
поделиться

Я знаю, что это старый, но Google получил меня здесь. Итак, скажем, решение в 2018 году для python3 на OSX.

brew install mysql-client echo 'export PATH="/usr/local/opt/mysql-client/bin:$PATH"' >> ~/.bash_profile source ~/.bash_profile pip install mysqlclient

17
ответ дан edilio 14 October 2019 в 07:18
поделиться

Если вы используете файл mysql dmg для установки mysql, вам нужно отредактировать ваш ~ / .bash_profile и включить его:

export DYLD_LIBRARY_PATH=/usr/local/mysql/lib:$DYLD_LIBRARY_PATH
8
ответ дан drhenner 14 October 2019 в 07:18
поделиться

Да, вам нужно будет установить это. Например, если вы пытаетесь установить гем mysql, вам понадобятся заголовки для библиотеки mysql. Это связано с тем, что некоторые гемы должны компилировать собственные расширения, поэтому им нужны файлы заголовков для любых сторонних библиотек, которые использует расширения.

В Mac OS X я рекомендую использовать MacPorts для управления установкой этих библиотек / заголовков.

0
ответ дан rvelasquez 14 October 2019 в 07:18
поделиться
1114 У меня была та же проблема, и я получил только частичное рабочее решение. Вот шаги, которые я сделал, чтобы заставить его работать:

  • brew install mysql-client

    ЕСЛИ У ВАС ЕСТЬ ЗШ:

  • echo 'export PATH="/usr/local/opt/mysql-client/bin:$PATH"' >> /.zshrc

  • source ~/.zshrc

    ELSE :

  • echo 'export PATH="/usr/local/opt/mysql-client/bin:$PATH"' >> /.bash_profile

  • source ~/.bash_profile

    Теперь для самой установки:

  • LDFLAGS=-L< расположение вашей папки openssl lib > pip install mysqlclient==< версия >

    например : LDFLAGS = -L / usr / local / opt / openssl / lib pip install mysqlclient == 1.3.12

2
ответ дан monteirobrena 14 October 2019 в 07:18
поделиться

Эти инструкции предназначены для Linux типа Debian. Наиболее близким к Debian для OS X является Fink . После установки и настройки вы можете сказать fink install mysql-unified-dev , чтобы получить по существу то же самое, что и запрос libmysqlclient15-dev в системе типа Debian или Ubuntu.

Помните, что Fink устанавливает свои пакеты в / sw , и не все сценарии сборки умеют искать там библиотеки и заголовки. Возможно, вам придется указать собственные параметры сборки, чтобы заставить его понять это.

Более успешным может быть просто загрузка пакета MySQL 5.0 для Mac OS X . Он должен включать те же файлы разработки, что и libmysqlclient15-dev , и в качестве бонуса поместит их в места, которые с большей вероятностью обнаружит ваш гем.

0
ответ дан 27 November 2019 в 23:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: