Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.89/19: Рейтинг темы: голосов - 19, средняя оценка - 4.89
HanDi
892 / 339 / 65
Регистрация: 11.02.2012
Сообщений: 1,502
1

[Linker Error] undefined reference to

19.10.2014, 20:20. Просмотров 3826. Ответов 5
Метки нет (Все метки)

Вызываю так функцию в main'e:

Кликните здесь для просмотра всего текста
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
#include <cstdlib>
#include <iostream>
#include <iomanip>
#include "matrix.h"
 
using namespace std;
 
    const int n = 3;
    const int m = 3;
 
int main()
{  
    setlocale(LC_ALL, "RUSSIAN");
  
  int **a = new int*[n];
    for (int i = 0; i < n; ++i)
        a[i] = new int[m];
 
   MatrixFuncs::MyMatrixFuncs::PrintMatrix(a, n, m);
    
 
    system("pause");
    return 0;
}


matrix.h:


Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#ifndef MATRIX_H
#define MATRIX_H
 
namespace MatrixFuncs
{ 
    class MyMatrixFuncs
    {
        public:
            static void PrintMatrix(int** a, int N, int M);
    };
}
 
#endif


matrix.cpp:

Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include "matrix.h"
#include <iostream>
#include <ctime>
#include <cstdlib>
#include <iomanip>
 
namespace MatrixFuncs
{
    
    void PrintMatrix(int** a, int N, int M)
    {
      for (int i = 0; i < N; i++)
      {
         for (int j = 0; j < M; j++)
           std::cout << std::setw(4) << a[i][j] << " ";
         std::cout << std::endl;   
      }  
        
        
    }   
}


ошибка: [Linker Error] undefined reference to `MatrixFuncs::MyMatrixFuncs::PrintMatrix(int**, int, int)'

matrix.cpp в проект main добавлен

в чем трабл?
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.10.2014, 20:20
Ответы с готовыми решениями:

Странная ошибка: [Linker error] undefined reference to `__dyn_tls_init_callback' [Linker error] undefined reference to ld returned 1 exit status
Здравствуйте. Вот недавно начал изучать книгу &quot;С++ для чайников&quot; Стефан Р....

[Linker error] undefined reference to
#include&lt;string.h&gt; #include&lt;stdlib.h&gt; #include&lt;conio.h&gt; #include&lt;stdio.h&gt;...

[Linker error] undefined reference to 'r'
Помогите решить вышеописанную проблему, на переменную s так же ругаеться!...

[Linker Error] undefined reference to `__dyn_tls_init_callback'
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; int SumDigits (int N) { ...

[Linker error] undefined reference to __cpu_features_init
Вот наглядное пособие: ... А что он говорит и что делать, чтобы прога...

5
Kastaneda
Jesus loves me
Эксперт С++
4949 / 3026 / 346
Регистрация: 12.12.2009
Сообщений: 7,627
Записей в блоге: 2
Завершенные тесты: 1
19.10.2014, 20:22 2
Лучший ответ Сообщение было отмечено HanDi как решение

Решение

В .cpp фале не
C++
1
void PrintMatrix(int** a, int N, int M)
а
C++
1
void MyMatrixFuncs::PrintMatrix(int** a, int N, int M)
1
HanDi
892 / 339 / 65
Регистрация: 11.02.2012
Сообщений: 1,502
19.10.2014, 20:25  [ТС] 3
решено, благодарю!
0
programmeur
0 / 0 / 0
Регистрация: 25.11.2016
Сообщений: 3
25.11.2016, 19:37 4
Не стал создавать новую тему т.к. вопрос похож.

есть heder = net.h
C++
1
2
3
4
5
6
7
8
struct TX11KbdMap
{...};
struct TPadMapArray
{...};
 
.....
extern void ini_unix_socket(void);
extern void SetupPADConfig(TPadMapArray &DCPads, TX11KbdMap &X11_Keyboard);
сам net.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
...
#include "net.h"
...
void ini_unix_socket(void)
{
....
}
 
void SetupPADConfig(TPadMapArray &DCPads, TX11KbdMap &X11_Keyboard)
   {
     ....
   }
и main.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
...
#include "net.h"
....
extern struct TPadMapArray EVDevDCJoyMap;
extern struct TX11KbdMap X11KeyboardMap; 
....
 
void SetupInput()  
{
....
SetupPADConfig(EVDevDCJoyMap, X11KeyboardMap);
...
}
При компиляции ошибка: main.cpp:184: undefined reference to `EVDevDCJoyMap'
Понятия не имею что истеричке не так. На си++ недавно до этого FPC.
0
DrOffset
9014 / 4861 / 1196
Регистрация: 30.01.2014
Сообщений: 7,942
25.11.2016, 21:37 5
Цитата Сообщение от programmeur Посмотреть сообщение
C++
1
2
extern struct TPadMapArray EVDevDCJoyMap; 
extern struct TX11KbdMap X11KeyboardMap;
Скорее всего extern тут ни к месту.
1
programmeur
0 / 0 / 0
Регистрация: 25.11.2016
Сообщений: 3
25.11.2016, 23:09 6
В точку, никогда бы не подумал на него.
Спецификатор extern сообщает компилятору, что следующие за ним типы и имена переменных объявляются где-то в другом месте.
Получается что по-невнимательности и неопытности перепутал местами.
В main.cpp они задаются а в keylog.cpp(здесь не представлен) уже "повторяются" с добавлением extern
0
25.11.2016, 23:09
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.11.2016, 23:09

[Linker Error] undefined reference to `instructions()'
Dev c++ #include &lt;iostream&gt; using namespace std; void instructions(); int...

Ошибка [Linker error] undefined reference to `__dyn_tls_init_callback'
Вот такие ошибки появляются : Ошибка undefined reference to...

[linker error] undefined reference to 'vtable for Car'
доброго времени вам. помогите, пожалуйста, с задачей разобраться. хочу сделать...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru