Ошибки компоновщика LNK1120 и LNK2001

Я ненавижу эти ошибки компоновщика, любая идея, как я могу избавиться от них?

Error   2   fatal error LNK1120: 1 unresolved externals C:\Users\**********\Documents\Visual Studio 2005\Projects\Machine2\Debug\Machine2.exe

а также

Error   1   error LNK2001: unresolved external symbol "public: void __thiscall SecondDlg::OnBnClickedButton4(void)" (?OnBnClickedButton4@SecondDlg@@QAEXXZ) SecondDlg.obj

5 ответов

Решение

Я удалил ON_BN_CLICKED(IDC_BUTTON4, &SecondDlg::OnBnClickedButton4) и все остальные экземпляры IDC_BUTTON4. Мой компилятор пытался скомпилировать то, чего больше не было.

Ошибка возникает, вероятно, по одной из следующих причин:

  • Вы забыли реализовать метод в cpp файл
  • cpp файл не включен в компиляцию
  • Вы забыли экспортировать свой класс с _declspec(dllexport)
  • Вы не ссылаетесь на библиотеку, где SecondDlg проживает

public: void __thiscall SecondDlg::OnBnClickedButton4(void)

Линкер пытается лучше сказать вам, что вызов SecondDlg::OnBnClickedButton4(void) не может быть решен. Это означает, что он не может найти определение функции-члена из любого исходного файла (точнее, объектного файла), который был скомпилирован. Вы просто предоставили объявление в интерфейсе, но не его определение (то есть реализацию) где угодно.

Ну, у меня нет много информации, чтобы понять, что происходит. Вы уверены, что написали метод OnBnClickedButton4? Может быть, только что объявлено. Посмотрите на свои файлы C++.

Можете ли вы показать нам объявление метода? Можете ли вы дать нам больше информации?

Может быть, вы используете ключевое слово "extern", когда это не нужно?

Это помогло бы другим, кто читает эти вопросы и ответы, даже если эта конкретная проблема была решена.

У меня были эти ошибки компоновщика прежде, и устранение использования глобальной переменной в целом, казалось, было ответом. Использование неконстантных глобальных переменных только сбивает с толку компилятор и компоновщик (и программист), особенно когда размер вашей программы увеличивается.

Другие вопросы по тегам