Я подозреваю, что здесь происходит то, что вы используете Snow Leopard. В предыдущих версиях OS X компилятор C ++ по умолчанию создавал 32-битные исполняемые файлы по умолчанию, но в Snow Leopard это значение изменилось на 64-битное. Это может вызвать проблемы со связью с библиотекой MySQL C API, если она не создана как универсальная библиотека, поддерживающая как 64-, так и 32-разрядные исполняемые файлы.
Существует множество способов решения этой проблемы, но большинство из тех, о которых я знаю, либо не будут работать с MacPorts, либо я не знаю, как заставить их работать. Я добавил раздел об этом в MySQL ++ README для Mac OS X, который вы можете прочитать онлайн, здесь .
Возможно, вы сможете понять, как адаптировать эти решения к системе сборки MacPorts. Примерно так может работать:
CFLAGS=-m32 CXXFLAGS=-m32 LDFLAGS=-m32 sudo port install mysqlxx +universal
Это зависит от тех переменных среды, которые проходят через барьеры sudo
и port
. Возможно, вам придется стать хитрее. Например:
sudo -s
CFLAGS=-m32 CXXFLAGS=-m32 LDFLAGS=-m32 port install mysqlxx +universal
Как я прокомментировал выше, проще всего просто собрать из исходного архива.