Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.88/16: Рейтинг темы: голосов - 16, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 17.07.2019
Сообщений: 36

Неопределенная ссылка на функцию

08.02.2023, 14:20. Показов 4633. Ответов 36

Студворк — интернет-сервис помощи студентам
Здравствуйте, есть код в котором подключен класс. Столкнулся с такой проблемой: при компиляции (компиляция происходит в терминале VSCode) в файле main.cpp выдается ошибка: Test Project/main.cpp:8: неопределённая ссылка на «person::func()». Сollect2: error: ld returned 1 exit status. Причем если подключать файл person.cpp вместо person.h все корректно работает. Такую же проблему заметил у другого человека, но у него была проблема с шаблонами, а у меня тут их нет. Подскажите, пожалуйста, в чем может быть проблема?

main.cpp
C++
1
2
3
4
5
6
7
8
9
#include <iostream>
#include "person.h"
using namespace std;
 
int main()
{
    person a;
    cout << a.func() << endl;
}
person.h
C++
1
2
3
4
5
class person
{
public:
    int func();
};
person.cpp
C++
1
2
3
4
5
6
#include "person.h"
 
int person::func()
{
    return 1234567;
}
c_cpp_properties.json
JSON
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{
    "configurations": [
        {
            "name": "Linux",
            "includePath": [
                "${workspaceFolder}/**"
            ],
            "defines": [],
            "compilerPath": "/usr/bin/gcc",
            "cStandard": "gnu17",
            "cppStandard": "gnu++17",
            "intelliSenseMode": "linux-gcc-x64"
        }
    ],
    "version": 4
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.02.2023, 14:20
Ответы с готовыми решениями:

Неопределённая ссылка на функцию
Доброго времени суток! Имеется несколько файлов кода: main.cpp #include &quot;functions.h&quot; // Подключение файла с...

Неопределенная ссылка
Всем привет :) Столкнулся с такой проблемой : Написал класс Contact и попробовал использовать один из его методов, но при сборке через...

неопределенная ссылка
Некомпилируется проект. Не могу понять где ошибка. prata-10-2-head.h #ifndef PRATA-10-2-HEAD_H_INCLUDED #define...

36
Злостный нарушитель
 Аватар для Verevkin
10893 / 5829 / 1288
Регистрация: 12.03.2015
Сообщений: 26,894
08.02.2023, 15:11
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Deomus Посмотреть сообщение
Значит определенно проблема в VSCode
Это проблема обычно называется "кривые руки".
Я прям в консоли попробовал - всё компилится и запускается.

0
фрилансер
 Аватар для Алексей1153
6504 / 5748 / 1134
Регистрация: 11.10.2019
Сообщений: 15,393
08.02.2023, 15:12
SmallEvil,
0
0 / 0 / 0
Регистрация: 17.07.2019
Сообщений: 36
08.02.2023, 15:20  [ТС]
Цитата Сообщение от Deomus Посмотреть сообщение
я попробовал вставить, но выводит предупреждение: Свойство tasks не разрешено.
Понял ошибку, не туда вставил. Вставил в tasks.json и выводит такую ошибку:
Bash
1
2
 fatal error: /home/daniil/Документы/Programming Projects/Cpp/Test Project/**.cpp: Нет такого файла или каталога
compilation terminated.
У вас в аргументах: "${fileDirname}/**.cpp", а у меня по дефолту "${file}", может что-то еще нужно?
0
118 / 86 / 35
Регистрация: 07.11.2022
Сообщений: 355
08.02.2023, 15:21
Цитата Сообщение от Deomus Посмотреть сообщение
У вас в аргументах: "${fileDirname}/**.cpp", а у меня по дефолту "${file}", может что-то еще нужно?
"${file}" поменяйте на "${fileDirname}/**.cpp" и всё.
0
0 / 0 / 0
Регистрация: 17.07.2019
Сообщений: 36
08.02.2023, 15:23  [ТС]
Цитата Сообщение от Verevkin Посмотреть сообщение
Это проблема обычно называется "кривые руки".
Я прям в консоли попробовал - всё компилится и запускается.
Вообще не отрицаю, у вас просто правильно настроенный notepad++, а я не понимаю где я накосячил в VSCode

Добавлено через 1 минуту
Цитата Сообщение от NEED-A-JOB Посмотреть сообщение
"${file}" поменяйте на "${fileDirname}/**.cpp" и всё.
Я так и сделал, и говорю же выскакивает ошибка
Bash
1
2
cc1plus: fatal error: /home/daniil/Документы/Programming Projects/Cpp/Test Project/**.cpp: Нет такого файла или каталога
compilation terminated.
0
фрилансер
 Аватар для Алексей1153
6504 / 5748 / 1134
Регистрация: 11.10.2019
Сообщений: 15,393
08.02.2023, 15:25
Цитата Сообщение от Deomus Посмотреть сообщение
**.cpp
так имя файла надо написать
0
0 / 0 / 0
Регистрация: 17.07.2019
Сообщений: 36
08.02.2023, 15:27  [ТС]
Цитата Сообщение от qppq Посмотреть сообщение
покажи скрин с деревом
0
118 / 86 / 35
Регистрация: 07.11.2022
Сообщений: 355
08.02.2023, 15:29
по порядку, как я делал.
взял ваши файлы main.cpp person.h person.cpp положил в папку.
открыл папку в VSCode . Открыл файл main.cpp
Нажал F5 . ПОлучил ошибку .
Но появился task.json
Исправил "${file}" на "${fileDirname}/**.cpp".
Теперь жму F5 и всё норм.
0
0 / 0 / 0
Регистрация: 17.07.2019
Сообщений: 36
08.02.2023, 15:29  [ТС]
Цитата Сообщение от Алексей1153 Посмотреть сообщение
так имя файла надо написать
О, действительно заработало, но проблема: получается каждый раз при создании файла прописывать его, а нельзя ли как-то указать, чтобы все cpp компилировались?
0
118 / 86 / 35
Регистрация: 07.11.2022
Сообщений: 355
08.02.2023, 15:30
Цитата Сообщение от Алексей1153 Посмотреть сообщение
так имя файла надо написать
нет, не надо, см выше
0
 Аватар для SmallEvil
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
08.02.2023, 15:32
Цитата Сообщение от qppq Посмотреть сообщение
покажи скрин с деревом
Неопределенная ссылка на функцию
Миниатюры
Неопределенная ссылка на функцию  
0
0 / 0 / 0
Регистрация: 17.07.2019
Сообщений: 36
08.02.2023, 15:32  [ТС]
Цитата Сообщение от NEED-A-JOB Посмотреть сообщение
Исправил "${file}" на "${fileDirname}/**.cpp".
Вот так работает:

А так - нет:
0
118 / 86 / 35
Регистрация: 07.11.2022
Сообщений: 355
08.02.2023, 15:36
Цитата Сообщение от Deomus Посмотреть сообщение
Вот так работает: А так - нет:
какая-то загадка.

Не по теме:

Работает -- не трогай

0
0 / 0 / 0
Регистрация: 17.07.2019
Сообщений: 36
08.02.2023, 15:42  [ТС]
Цитата Сообщение от Deomus Посмотреть сообщение
1
2
cc1plus: fatal error: /home/daniil/Документы/Programming Projects/Cpp/Test Project/**.cpp: Нет такого файла или каталога
compilation terminated.
Он почему-то ищет именно файл "**.cpp", а не все файлы с .cpp
0
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
08.02.2023, 16:00
Deomus, версии vscode сравните. Свою и его.
0
0 / 0 / 0
Регистрация: 17.07.2019
Сообщений: 36
08.02.2023, 16:06  [ТС]
Цитата Сообщение от DrOffset Посмотреть сообщение
Deomus, версии vscode сравните. Свою и его.
Bash
1
2
3
4
daniil@extensa:~$ code --version
1.75.0
e2816fe719a4026ffa1ee0189dc89bdfdbafb164
x64
0
Злостный нарушитель
 Аватар для Verevkin
10893 / 5829 / 1288
Регистрация: 12.03.2015
Сообщений: 26,894
08.02.2023, 17:12
Цитата Сообщение от Deomus Посмотреть сообщение
у вас просто правильно настроенный notepad++
Ты чо несёшь, болезный? Notepad++ работает только с исходными файлами, а компилятор я запускаю вручную в консоли, которая ничо не знает про Notepad++.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.02.2023, 17:12

Неопределённая ссылка
Здравствуйте! Сегодня решил я написать проект на OpenGL под Linux. Установил glut, компилятор gcc, написал код, компилирую так: g++ -lm -o...

Неопределенная ссылка на деструктор
Здравствуйте! Какое-то время пользовался еклипсом, но пришлось от него отказаться в пользу утилит cmake и make. Во время линковки ...

Неопределенная ссылка на `WinMain @ 16 '
учусь программировать в wxdev C++ по книге Шилдта. сделал все как написано а компилятор ругается не понятно на что. вот сам код. //...

Неопределенная ссылка на символ
Как только добавил 2 потока сразу начало ругать, что не так? #include &lt;iostream&gt; #include &lt;ctime&gt; #include &lt;string&gt; ...

Неопределённая ссылка на «vtable for Animal»
Условие: Построить три класса (базовый и 3 потомка), описывающих некоторых хищных животных (один из потомков), всеядных(второй...


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

Или воспользуйтесь поиском по форуму:
37
Ответ Создать тему
Новые блоги и статьи
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru