Сбой MySQL Connector / C BAD ACCESS (другая ситуация)

Я прошу прощения за такой вопрос noob, но я не могу выиграть борьбу с моим Xcode (4.6.1) при компиляции самой простой программы для подключения к базе данных MySQL и выполнения там команды «SELECT».

Программа из каталога «examples» MySQL, Connector / C ++:

/* Standard C++ includes */
#include <stdlib.h>
#include <iostream>
#include <sstream>
#include <stdexcept>

#include "mysql_connection.h"#include "mysql_driver.h"
#include <cppconn/driver.h>
#include <cppconn/exception.h>
#include <cppconn/resultset.h>
#include <cppconn/statement.h>

std::string url;
std::string user;
std::string pass;
std::string database;

/**
* Usage example for Driver, Connection, (simple) Statement, ResultSet
*/
int main(int argc, const char **argv)
{
sql::Driver *driver;
std::auto_ptr< sql::Connection > con;

url = "tcp://127.0.0.1:3306";
user = "john";
pass = "john";
database = "cunda_sales";

try {
driver = sql::mysql::get_driver_instance();

/* Using the Driver to create a connection */
con.reset(driver->connect(url, user, pass));
con->setSchema(database);

sql::Statement* stmt = con->createStatement();
stmt->execute("INSERT INTO ru (store_name) values ('Test is successful')");
} catch (sql::SQLException &e) {
return EXIT_FAILURE;
} catch (std::runtime_error &e) {
return EXIT_FAILURE;
}

return EXIT_SUCCESS;
}

После того, как я запускаю эту программу в XCode, я получаю сообщение, что программа успешно скомпилирована, но она останавливается при вызове:

driver->connect(url, user, pass)

дает мне ошибку

EXC_BAD_ACCESS (code=13, address=0x0)

Почти такая же ситуация была описана здесь: здесь на этом сайте

Я повторил все шаги, которые выполнили эти парни, но я ничего не могу сделать с этой ошибкой. Я также попытался скомпилировать программу в моем терминале с помощью следующей команды:

c++ -o test -I /usr/local/boost_1_53_0 -lmysqlcppconn main.cpp

и все работает просто отлично, но НЕ в Xcode.

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

Ребята писали, что проблема была в флаге -stdlib = libc ++, который Xcode использует для компиляции кода. Так что я должен сделать, чтобы избежать этой ошибки? Удалить этот флаг из компилятора Xcode или использовать другой компилятор? Или мне просто нужно перекомпилировать MySQL Connector / C ++ с этим флагом?

Пожалуйста, объясните мне окончательное решение. Спасибо!

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]