MySQL Connector/C ++ файлов драйверов Компилятор Связывание Ошибка связыванияMySql

Форум по Mysql
Ответить
Anonymous
 MySQL Connector/C ++ файлов драйверов Компилятор Связывание Ошибка связывания

Сообщение Anonymous »

Я создаю простую программу C ++ и хотел интегрировать в нее базу данных MySQL. Я загрузил и установил последний пакет MySQL (

Код: Выделить всё

mysql-connector-c++-9.2.0-macos15-arm64.dmg
) с официального веб -сайта https://dev.mysql.com/downloads/connector/cpp/ . Файлы драйверов были установлены в/usr/local/mysql-connector-c ++-9.2.0/.

Код: Выделить всё

#include 

int main(){
sql::mysql::MySQL_Driver * driver;
sql::Connection  * con;

driver = sql::mysql::get_mysql_driver_instance();
return 0;
}
файл jdbc.h находится в Path:/usr/local/mysql-connector-c ++-9.2.0/include/mysql/jdbc.h и его содержание:

Код: Выделить всё

#include "../jdbc/mysql_connection.h"
#include "../jdbc/mysql_driver.h"
#include "../jdbc/mysql_error.h"
#include "../jdbc/cppconn/build_config.h"
#include "../jdbc/cppconn/callback.h"
#include "../jdbc/cppconn/config.h"
#include "../jdbc/cppconn/connection.h"
#include "../jdbc/cppconn/datatype.h"
#include "../jdbc/cppconn/driver.h"
#include "../jdbc/cppconn/exception.h"
#include "../jdbc/cppconn/metadata.h"
#include "../jdbc/cppconn/parameter_metadata.h"
#include "../jdbc/cppconn/prepared_statement.h"
#include "../jdbc/cppconn/resultset.h"
#include "../jdbc/cppconn/resultset_meta.h"
#include "../jdbc/cppconn/statement.h"
#include "../jdbc/cppconn/sqlstring.h"
#include "../jdbc/cppconn/warning.h"
#include "../jdbc/cppconn/version_info.h"
#include "../jdbc/cppconn/variant.h"
< /code>
** Проблема возникает, когда я составляю основной файл CPP. Я получаю эту ошибку: ** < /p>
Undefined symbols for architecture arm64:
"check(std::__1::basic_string const&)", referenced from:
check_lib() in t-7e11a0.o
"check(std::__1::map const&)", referenced from:
check_lib() in t-7e11a0.o
"sql::mysql::_get_driver_instance_by_name(char const*)", referenced from:
sql::mysql::get_driver_instance_by_name(char const*) in t-7e11a0.o
ld: symbol(s) not found for architecture arm64
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
< /code>
Я проверил этот пост Stackoverflow: C ++: неопределенные символы для архитектуры x86_64
Также: Mac OS - VS код инсайдеры - бегун кода: не определяемый символ для архитектуры ARM64 < /p>
Из моего понимания из этих двух постов, казалось бы, что сочетает, что это не так, как и Faine, с помощью Main File, с помощью Main Pief Oncing Com, а также Main Pief Not Scilec Not Siking The Maine Not Slaking The Maine Not The Main Slaking The Maine - это не с помощью Maine C -File. Файл во время компиляции. Тем не менее, в моем случае ошибка добавлена ​​из -за строки: driver = sql :: mysql :: get_mysql_driver_instance (); 
, которая использует функцию из файла заголовка mysql_driver.h . И нет никаких файлов C ++, связанных с какими -либо из файлов заголовка драйвера. Итак, я не уверен, почему компилятор показывает эту ошибку связывания.

Подробнее здесь: https://stackoverflow.com/questions/795 ... king-error
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «MySql»