Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
qwerty778
1 / 1 / 0
Регистрация: 09.01.2014
Сообщений: 56
#1

Ошибка линковки. Глобальные переменные - C++

19.02.2014, 16:52. Просмотров 350. Ответов 3
Метки нет (Все метки)

Здравствуйте, имеется многофайловый проект. Объявляю глобальные переменные с помощью extern. Линковщик жалуется на 2 ошибки: LNK2020 и LNK2001. MVS 2013.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.02.2014, 16:52     Ошибка линковки. Глобальные переменные
Посмотрите здесь:

C++ Глобальные переменные
C++ Глобальные переменные
C++ глобальные переменные
Глобальные и статические глобальные переменные C++
C++ Глобальные переменные
C++ Глобальные переменные (ошибка)
Глобальные переменные C++
Глобальные переменные C++
Глобальные переменные C++
C++ Глобальные переменные в хедер
C++ Глобальные переменные
Динамические глобальные переменные C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Тамика
Котовчанин
869 / 449 / 141
Регистрация: 16.02.2010
Сообщений: 2,835
Записей в блоге: 27
19.02.2014, 16:53     Ошибка линковки. Глобальные переменные #2
Цитата Сообщение от qwerty778 Посмотреть сообщение
Здравствуйте, имеется многофайловый проект. Объявляю глобальные переменные с помощью extern. Линковщик жалуется на 2 ошибки: LNK2020 и LNK2001. MVS 2013.
Библиотеки прилинкованы? Хедера включены?
DrOffset
6864 / 4075 / 928
Регистрация: 30.01.2014
Сообщений: 6,870
19.02.2014, 17:02     Ошибка линковки. Глобальные переменные #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от qwerty778 Посмотреть сообщение
Здравствуйте, имеется многофайловый проект. Объявляю глобальные переменные с помощью extern. Линковщик жалуется на 2 ошибки: LNK2020 и LNK2001. MVS 2013.
extern - это обозначение уже объявленной переменной. Таковые имеются?

То есть если мы пишем:
C++
1
extern int a;
То в каком-то модуле должно быть и такое:
C++
1
int a = 1;
Где extern int a проще понимать его как обозначение «внешнего» имени для данного модуля.
ValeryS
Модератор
6515 / 4981 / 460
Регистрация: 14.02.2011
Сообщений: 16,504
19.02.2014, 17:08     Ошибка линковки. Глобальные переменные #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
поддержу DrOffset,
я вообще глобальные объявляю так, чтобы не искать по модулям
файл global.c
C++
1
2
3
//global.c
int a;
int b;
файл global.h
C++
1
2
3
//global.h
extern int a;
extern int b;
потом просто в нужных мне модулях делаю
C++
1
#include "global.h"
преимущества все лежат в одном месте,легко править
Yandex
Объявления
19.02.2014, 17:08     Ошибка линковки. Глобальные переменные
Ответ Создать тему
Опции темы

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