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

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

Войти
Регистрация
Восстановить пароль
 
lunohod-1
1 / 1 / 0
Регистрация: 14.12.2011
Сообщений: 44
#1

Двойная загрузка файла - C++

01.11.2012, 15:38. Просмотров 436. Ответов 8
Метки нет (Все метки)

Помогите понять, в чем тут дело.
Код пишу в среде QT Creator под OS X, компилятор - CLang. При компиляции такого кода, появляется ошибка ":-1: ошибка: 1 duplicate symbol for architecture x86_64".
Имеется файл w.h
C++ (Qt)
1
2
3
4
5
6
#ifndef W_H
#define W_H
namespace n {
int a;
}
#endif
main.cpp и b.cpp включают этот файл (include "w.h").

Никак не могу понять, почему файл включается дважды, когда есть директива прекомпилятора: не делать это?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.11.2012, 15:38
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Двойная загрузка файла (C++):

Загрузка данных из файла с возможностью выбора файла - C++
Всем доброго времени суток. У меня возник такой вопрос как организовать выбор файла с данными на языке СИ, пришла мысль в голову, что можно...

[C++] Загрузка файла - C++
#include "stdafx.h" #include <windows.h> #include <urlmon.h> #pragma comment(lib, "urlmon.lib") int main() { HRESULT hr...

Загрузка bmp файла - C++
установил RAD 2010, auxDIBImageLoad перестал работать(символ не найден пишет мне студия). можете пожалуйста скинуть замену этой функции,...

Файлы, загрузка с файла - C++
Есть два класса. нужно сохранить данные в базу и загрузить. Сохранение сделал. Подскажите как сделать загруску с файла чтобы данные можно...

Загрузка из файла в списки - C++
Добрый вечер, нужно создать БД студентов используя списки. Уже работает добавление студентов, вывод, сохранение в файл, но не работает...

Загрузка файла в дерево - C++
надо загрузить фаил в дерево и произвести продвижение по дереву на ходя минимальное значение ,также надо ввести инфо в фаил помогите...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
CEBEP
105 / 105 / 9
Регистрация: 21.03.2010
Сообщений: 437
01.11.2012, 15:45 #2
Да там что-то непонятное творится в этом смысле. у меня та же ерунда происходит с, принципе, библиотечным qgl.h
lunohod-1
1 / 1 / 0
Регистрация: 14.12.2011
Сообщений: 44
01.11.2012, 18:43  [ТС] #3
Хм, странно. Но это ничего, если бы не необходимость использования переменных двумя классами...

Добавлено через 2 часа 35 минут
Есть ли всё-таки способ использования переменной несколькими функциями из разных файлов?
CEBEP
105 / 105 / 9
Регистрация: 21.03.2010
Сообщений: 437
01.11.2012, 19:26 #4
Ну решение то очевидно... в мэйн не подключать, а подключать в b.h...
lunohod-1
1 / 1 / 0
Регистрация: 14.12.2011
Сообщений: 44
01.11.2012, 19:32  [ТС] #5
Про это я уже думал, но их надо использовать в обоих файлах.
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
01.11.2012, 19:39 #6
Цитата Сообщение от lunohod-1 Посмотреть сообщение
Никак не могу понять, почему файл включается дважды, когда есть директива прекомпилятора: не делать это?
Эта директива защищает от двойного включения в один файл, а не от двойного включения в разные файлы. Предкомпилятор, так же как и компилятор, в конкретный момент времени видят только один файл, поэтому эта защита, в данном случае, и не срабатывает. Ошибку, если я правильно понимаю, выдаёт компоновщик, который видит все файлы.
lunohod-1
1 / 1 / 0
Регистрация: 14.12.2011
Сообщений: 44
01.11.2012, 19:42  [ТС] #7
Да, ошибку выдает компоновщик. Я действительно забыл, что область видимости ограничена.
Тогда как лучше сделать включение заголовка в несколько файлов?
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
01.11.2012, 19:47 #8
Цитата Сообщение от lunohod-1 Посмотреть сообщение
Есть ли всё-таки способ использования переменной несколькими функциями из разных файлов?
Чтобы переменная, определённая в одном файле, была видна в другом, нужно объявлять её во всех остальных файлах с помощью extern.
lunohod-1
1 / 1 / 0
Регистрация: 14.12.2011
Сообщений: 44
01.11.2012, 19:48  [ТС] #9
Спасибо, это я уже делал, но надеялся, что в QT есть что-то для такой проверки
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.11.2012, 19:48
Привет! Вот еще темы с ответами:

Загрузка файла в массив - C++
Здравствуйте, помогите, при загрузке из файла в массив - выбивается какой-то мусор... в чем дело? #include<iostream> #include<string> ...

Загрузка структуры из файла - C++
Объясните, пожалуйста, как произвести загрузку чисел вещественного типа из файла в структуру. Текст файла выглядит так: и вот сам...

Загрузка чисел из файла - C++
Здрасти, как загрузить матрицу из файла? если есть такой txt-файл: 3 3 1 2 3 4 5 6 7 8 9 первая строка-размерность...

Загрузка файла на хостинг - C++
Доброго времен суток, уважаемые посетители cyberforum! Хотелось бы узнать, каким образом можно залить файл на хостинг? (http://rghost.ru/...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
01.11.2012, 19:48
Ответ Создать тему
Опции темы

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