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

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

Восстановить пароль Регистрация
 
qwerty778
1 / 1 / 0
Регистрация: 09.01.2014
Сообщений: 56
19.02.2014, 16:52     Ошибка линковки. Глобальные переменные #1
Здравствуйте, имеется многофайловый проект. Объявляю глобальные переменные с помощью 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++ Глобальные переменные (ошибка)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Тамика
Котовчанин
 Аватар для Тамика
859 / 439 / 129
Регистрация: 16.02.2010
Сообщений: 2,537
Записей в блоге: 27
19.02.2014, 16:53     Ошибка линковки. Глобальные переменные #2
Цитата Сообщение от qwerty778 Посмотреть сообщение
Здравствуйте, имеется многофайловый проект. Объявляю глобальные переменные с помощью extern. Линковщик жалуется на 2 ошибки: LNK2020 и LNK2001. MVS 2013.
Библиотеки прилинкованы? Хедера включены?
DrOffset
6423 / 3797 / 878
Регистрация: 30.01.2014
Сообщений: 6,585
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
Модератор
6374 / 4840 / 441
Регистрация: 14.02.2011
Сообщений: 16,042
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     Ошибка линковки. Глобальные переменные
Ответ Создать тему
Опции темы

Текущее время: 11:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru