Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
-46 / 3 / 0
Регистрация: 17.12.2011
Сообщений: 609

Ошибка: LNK2019 ссылка на неразрешенный внешний символ

21.09.2025, 08:25. Показов 3763. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствауте!
Подскажите, из-за чего эта ошибка и как ее исправить?:

Ошибка LNK2019 ссылка на неразрешенный внешний символ __imp__invalid_parameter в функции "class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl stderator+<char,struct std::char_traits<char>,class std::allocator<char> >(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &&,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &&)" (??$?HDU?$char_traits@D@std@@V?$all ocator@D@1@@std@@YA?AV?$basic_strin g@DU?$char_traits@D@std@@V?$allocat or@D@2@@0@$$QEAV10@0@Z). school
Миниатюры
Ошибка: LNK2019 ссылка на неразрешенный внешний символ  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.09.2025, 08:25
Ответы с готовыми решениями:

Ссылка на неразрешенный внешний символ, неразрешенный внешний элемент
В программировании новичок, знакомство с подпрограммами. Помогите понять, в чем ошибка. Программа...

Не могу разобраться где ошибка!error LNK2019: ссылка на неразрешенный внешний символ
#include &quot;stdafx.h&quot; #include &quot;conio.h&quot; #include &quot;stdio.h&quot; #include &quot;stdlib.h&quot; #include...

Ошибка 1 error LNK2019: ссылка на неразрешенный внешний символ
Ошибка 1 error LNK2019: ссылка на неразрешенный внешний символ &quot;public: void __thiscall...

20
фрилансер
 Аватар для Алексей1153
6440 / 5634 / 1127
Регистрация: 11.10.2019
Сообщений: 14,980
21.09.2025, 08:55
DDim1000, конечно же по такой картинке никто ничего не расскажет.

Для начала нужно вычистить using namespace std;, чтобы исключить некоторые ошибки, связанные с этим

Потом нужно выяснить, куда ругается линкер - пробуй закрывать комментариями строки, пока ошибка не пропадёт
0
-46 / 3 / 0
Регистрация: 17.12.2011
Сообщений: 609
21.09.2025, 10:02  [ТС]
Цитата Сообщение от Алексей1153 Посмотреть сообщение
Для начала нужно вычистить using namespace std;, чтобы исключить некоторые ошибки, связанные с этим
Как это сделать?

P.S.
Забыл про код...

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#include <iostream>
#include <memory>
#include <mysql_driver.h>
#include <mysql_connection.h>
#include <cppconn/driver.h>
#include <cppconn/exception.h>
#include <cppconn/resultset.h>
#include <cppconn/statement.h>
#include <cppconn/prepared_statement.h>
 
using namespace std;
 
class MySQLConnection {
private:
    unique_ptr<sql::Connection> connection;
 
public:
    MySQLConnection(const string& host, int port,
        const string& user, const string& password,
        const string& database) {
 
        sql::mysql::MySQL_Driver* driver = sql::mysql::get_mysql_driver_instance();
        string connectionString = "tcp://" + host + ":" + to_string(port);
 
        connection.reset(driver->connect(connectionString, user, password));
        connection->setSchema(database);
    }
 
    void executeQuery(const string& query) {
        unique_ptr<sql::Statement> stmt(connection->createStatement());
        unique_ptr<sql::ResultSet> res(stmt->executeQuery(query));
 
        while (res->next()) {
            // Обработка результатов
            cout << "Результат: " << res->getString(1) << endl;
        }
    }
 
    bool isConnected() {
        return connection.get() != nullptr && !connection->isClosed();
    }
};
 
int main() {
    try {
        MySQLConnection db(
            "your_remote_server_ip",
            3306,
            "your_username",
            "your_password",
            "your_database"
        );
 
        if (db.isConnected()) {
            cout << "Подключение установлено успешно!" << endl;
            db.executeQuery("SELECT VERSION()");
        }
 
    }
    catch (sql::SQLException& e) {
        cerr << "MySQL Error: " << e.what() << endl;
    }
 
    return 0;
}
0
фрилансер
 Аватар для Алексей1153
6440 / 5634 / 1127
Регистрация: 11.10.2019
Сообщений: 14,980
21.09.2025, 11:28
Цитата Сообщение от DDim1000 Посмотреть сообщение
Как это сделать?
удалить эту строку, и исправить везде обращение к элементам std до полного квалифицированного имени

Добавлено через 22 секунды
std::unique_ptr
std::cerr
и так далее
0
-46 / 3 / 0
Регистрация: 17.12.2011
Сообщений: 609
21.09.2025, 12:02  [ТС]
Цитата Сообщение от Алексей1153 Посмотреть сообщение
Для начала нужно вычистить using namespace std;, чтобы исключить некоторые ошибки, связанные с этим
Без изсенений...

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#include <iostream>
#include <memory>
#include <mysql_driver.h>
#include <mysql_connection.h>
#include <cppconn/driver.h>
#include <cppconn/exception.h>
#include <cppconn/resultset.h>
#include <cppconn/statement.h>
#include <cppconn/prepared_statement.h>
 
//using namespace std;
 
class MySQLConnection {
private:
    std::unique_ptr<sql::Connection> connection;
 
public:
    MySQLConnection(const std::string& host, int port,
        const std::string& user, const std::string& password,
        const std::string& database) {
 
        sql::mysql::MySQL_Driver* driver = sql::mysql::get_mysql_driver_instance();
        std::string connectionString = "tcp://" + host + ":" + std::to_string(port);
 
        connection.reset(driver->connect(connectionString, user, password));
        connection->setSchema(database);
    }
 
    void executeQuery(const std::string& query) {
        std::unique_ptr<sql::Statement> stmt(connection->createStatement());
        std::unique_ptr<sql::ResultSet> res(stmt->executeQuery(query));
 
        while (res->next()) {
            // Обработка результатов
            std::cout << "Результат: " << res->getString(1) << std::endl;
        }
    }
 
    bool isConnected() {
        return connection.get() != nullptr && !connection->isClosed();
    }
};
 
int main() {
    try {
        MySQLConnection db(
            "your_remote_server_ip",
            3306,
            "your_username",
            "your_password",
            "your_database"
        );
 
        if (db.isConnected()) {
            std::cout << "Подключение установлено успешно!" << std::endl;
            db.executeQuery("SELECT VERSION()");
        }
 
    }
    catch (sql::SQLException& e) {
        std::cerr << "MySQL Error: " << e.what() << std::endl;
    }
 
    return 0;
}
Ошибка.

Серьезность Код Описание Проект Файл Строка Состояние подавления
Ошибка LNK2019 ссылка на неразрешенный внешний символ __imp__invalid_parameter в функции "class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl std::operator+<char,struct std::char_traits<char>,class std::allocator<char> >(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &&,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &&)" (??$?HDU?$char_traits@D@std@@V?$allocato r@D@1@@std@@YA?AV?$basic_string@DU?$char _traits@D@std@@V?$allocator@D@2@@0@$$QEA V10@0@Z). school D:\Programming\VS\source\repos\school\sc hool\school.obj 1
Миниатюры
Ошибка: LNK2019 ссылка на неразрешенный внешний символ  
0
-46 / 3 / 0
Регистрация: 17.12.2011
Сообщений: 609
21.09.2025, 12:05  [ТС]
Попытался запустить отлатчик, но мне выдало информационное окно: "Возникла ошибка сборки. ...".
Миниатюры
Ошибка: LNK2019 ссылка на неразрешенный внешний символ  
0
-46 / 3 / 0
Регистрация: 17.12.2011
Сообщений: 609
21.09.2025, 15:28  [ТС]
Если у кого-то есть желание, посмотрите проект: https://disk.yandex.ru/d/1Jpu8d2JXhMkgw
0
322 / 81 / 5
Регистрация: 19.07.2024
Сообщений: 447
21.09.2025, 15:43
Можно попробовать включить генерацию листингов. А потом по ним поискать - какие именно объекты генерят такие имена (которые не ресольвятся)? Так как вручную "на глаз" сопоставить их именам в исходном коде - тут трудно.
Раз стадия компиляции проходит (не проходит линковка), то листинги должны генериться нормально.

Добавлено через 6 минут
Цитата Сообщение от DDim1000 Посмотреть сообщение
Попытался запустить отлатчик, но мне выдало информационное окно: "Возникла ошибка сборки. ...".
Ну ясно что он не запустится. Ведь результирующий образ у вас не был собран. Что тогда отлаживать?
0
-46 / 3 / 0
Регистрация: 17.12.2011
Сообщений: 609
21.09.2025, 16:56  [ТС]
Цитата Сообщение от jcxz Посмотреть сообщение
Можно попробовать включить генерацию листингов.
Это вот это листинги?
Миниатюры
Ошибка: LNK2019 ссылка на неразрешенный внешний символ  
0
322 / 81 / 5
Регистрация: 19.07.2024
Сообщений: 447
21.09.2025, 17:09
Нет. Листинги как правило имеют расширение .lst
Ищите в настройках - где-то должна разрешаться их генерация. Я VSCode не пользуюсь - не подскажу где. Но должно быть.

В листингах обычно пишутся все имена объектов, как они выглядят на этапе линковки. И расположены они возле строк исходника, которые к ним обращаются (если оптимизация отключена, то прямо совсем рядом). Поэтому - поиском обычно можно найти соответствие имени.
0
-46 / 3 / 0
Регистрация: 17.12.2011
Сообщений: 609
21.09.2025, 18:58  [ТС]
Спросил у ИИ, и вот что он сказал:

Ошибка LNK2019 возникает из-за того, что в вашем коде упоминается какая-то функция check, которая нигде не реализована. Проблема в том, что линкер не видит определение этой функции, хотя где-то в другом месте она объявлена или вызвана.

Однако, судя по представленному вами коду, такого вызова функции check в нём нет. Значит, вероятно, проблема возникла из-за постороннего кода или случайно скопированного фрагмента.

Решение простое: найдите и удалите всё, что вызывает ошибку (возможно, это какой-то комментарий или скрытый фрагмент кода). Ваш код выглядит вполне рабочим сам по себе, и удаление ненужных элементов должно решить проблему.

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

Попробуйте снова собрать проект после очистки лишнего, и ошибка должна пропасть.
0
Заблокирован
21.09.2025, 21:17
Цитата Сообщение от DDim1000 Посмотреть сообщение
Решение простое: найдите и удалите всё, что вызывает ошибку


Добавлено через 3 минуты
Цитата Сообщение от DDim1000 Посмотреть сообщение
Ошибка: LNK2019 ссылка на неразрешенный внешний символ
Нужно подключить к проекту все необходимы библиотеки (.lib) mysql и mysql connector.
Опять же в настройках проекта.
0
-46 / 3 / 0
Регистрация: 17.12.2011
Сообщений: 609
21.09.2025, 21:56  [ТС]
Цитата Сообщение от SmallEvil Посмотреть сообщение
Нужно подключить к проекту все необходимы библиотеки (.lib) mysql и mysql connector.
Я делаю так, как показано на видео этом видеоролике. Но не знаю, правильно или нет.

https://disk.yandex.ru/client/... 0MySQL.mp4
0
Модератор
Эксперт Java
 Аватар для alecss131
2835 / 1344 / 403
Регистрация: 11.08.2017
Сообщений: 4,297
Записей в блоге: 2
21.09.2025, 22:15
У меня такое ощущение что ругается на оператор + у плюсовой строки, а следовательно на стандартную плюсовую библиотеку. Обычно он при ненахождении символа пишет имя функции, а тут ни слова в ошибке про коннектор.
Да и кто к бд коннектится через tcp://?
0
Заблокирован
21.09.2025, 22:18
Цитата Сообщение от DDim1000 Посмотреть сообщение
Я делаю так, как показано на видео этом видеоролике.
По видеороликах ничего не настраиваю.
А сом ролик находится вне зоны досягаемости.
mysqlcppconn.lib вот эту библиотеку нужно подключить(или похожую, нужно смотреть на конкретную сборку mysql connector).
И нужно проект настроить на ту же разрядность(x86/x64) и на тот же выпуск(release/Debug) что и используемая библиотека.

Добавлено через 1 минуту
Цитата Сообщение от alecss131 Посмотреть сообщение
а тут ни слова в ошибке про коннектор
В шапке на скриншоте, последняя строчка.

Добавлено через 1 минуту
alecss131, ну хидер string, кстати, так же не подключен)
0
Модератор
Эксперт Java
 Аватар для alecss131
2835 / 1344 / 403
Регистрация: 11.08.2017
Сообщений: 4,297
Записей в блоге: 2
21.09.2025, 22:19
Цитата Сообщение от SmallEvil Посмотреть сообщение
последняя строчка
Увидел, но по крайней мере это не должно влиять на стандартную библиотеку языка... Тут после исправления коннектора вылезут другие символы.
0
Заблокирован
21.09.2025, 22:34
Функция сheck так же из mysql.
То есть, инклюдим <string> в код для std::string и указываем линкеру библиотеку/и mysql.

Добавлено через 2 минуты
Да и остальное тоже.
0
322 / 81 / 5
Регистрация: 19.07.2024
Сообщений: 447
22.09.2025, 11:15
Цитата Сообщение от alecss131 Посмотреть сообщение
У меня такое ощущение что ругается на оператор + у плюсовой строки, а следовательно на стандартную плюсовую библиотеку. Обычно он при ненахождении символа пишет имя функции, а тут ни слова в ошибке про коннектор.
При ненахождении символа компилятором - да. Здесь же компилятор все символы нашёл. Ошибка на стадии компоновки, символ не нашёл компоновщик. А на стадии компоновки уже будут имена из таблицы импорта. На этом этапе уже и функций (из исходника) может не быть. Есть единицы компоновки. Поэтому имя функции ему написать затруднительно.
Поэтому и нужно как-то связать имя из таблицы импорта (в сообщении об ошибке) с именами/местом в исходнике. Что обычно можно сделать через листинги. Но автор совет проигнорировал. Или не понял.
0
-46 / 3 / 0
Регистрация: 17.12.2011
Сообщений: 609
23.09.2025, 14:04  [ТС]
Все, я натроил проект, прописал все пути к файлам библиотеки и теперь пороект компелируется. Но возникла другая ошибка. При запуски программы выходит вот такое сообщение:

---------------------------
Microsoft Visual C++ Runtime Library
---------------------------
Debug Error!

Program: D:\Programming\VS\source\repos\school\x6 4\Debug\school.exe

abort() has been called

(Press Retry to debug the application)


Как исправить эту ошибку?
Миниатюры
Ошибка: LNK2019 ссылка на неразрешенный внешний символ  
0
фрилансер
 Аватар для Алексей1153
6440 / 5634 / 1127
Регистрация: 11.10.2019
Сообщений: 14,980
24.09.2025, 07:21
DDim1000, запусти на отладку без точек останова. Если повезёт - то место сразу найдётся
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.09.2025, 07:21
Помогаю со студенческими работами здесь

Ошибка LNK2019: ссылка на неразрешенный внешний символ _WinMain@16
#include&lt;fstream&gt; #include&lt;iostream&gt; #include &lt;stdio.h&gt; #include &lt;ctime&gt; #include &lt;stdlib.h&gt;...

Ошибка: error LNK2019: ссылка на неразрешенный внешний символ
1.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__GetStockObject@4 в функции...

Ошибка при отображении русских шрифтов в консоли: "error LNK2019: ссылка на неразрешенный внешний символ"
Доброго времени суток! решил модернизировать простенькую программу, чтобы отображался русский шрифт...

Ошибка линковщика(error LNK2019: ссылка на неразрешенный внешний символ _main в функции ___tmainCRTStartup)
#include &lt;iostream&gt; using namespace std; void rotor(int *a,int k,int len) { // Создаем и...

Структуры/Работа с файлами(ошибка линковщика error LNK2019: ссылка на неразрешенный внешний символ)
Задание: Дан файл содержащий сведения о видах журналов редакции.Структура записи файла: -код...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru