Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не линкуется программа с переменной в .h 
V
    Опции темы
Чупакабро
Дата 26.9.2012, 16:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 220
Регистрация: 27.2.2007

Репутация: нет
Всего: 4



Есть 2 модуля: основной и вспомогательный. Есть заголовочный файл, в котором объявлена переменная. Этот заголовочный файл подключен в обоих .cpp.
Выдается такая ошибка:
fatal error LNK1169: one or more multiply defined symbols found
Вот код основнго модуля:
Код

// ConTest.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <iostream>
#include "inc1.h"
#include "inc2.h"


int _tmain(int argc, _TCHAR* argv[])
{
    char str[10];
    std::cout<<"Hello"<<"\n";
    std::cin>>str;
    return 0;
}

Вот заголовочный файл вспомогательного модуля inc1.h:
Код

void vriteNumber(int n);

Вот заголовочный файл inc2.h:
Код

#ifndef INC_2
#define INC_2
int a=0;
#endif


Это сообщение отредактировал(а) Чупакабро - 26.9.2012, 18:45
--------------------
Project Project1.exe raised exception class EAccessViolation with message 'Access violation at address 00459B8B in module 'Project1.exe'. Read of address 0000019C'. Process stopped. Use Step or Run to continue.
PM MAIL   Вверх
bsa
Дата 26.9.2012, 16:55 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



"проблема" стара как мир. в хидере должно быть только объявление переменной: extern int a; А вот определение должно быть в одном из cpp
PM   Вверх
Чупакабро
Дата 26.9.2012, 17:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 220
Регистрация: 27.2.2007

Репутация: нет
Всего: 4



bsa, спасибо!
Но ведь это так тщательно от меня скрывали...
Все. пошел дальше писать свой проЭкт ммо рпг движок
--------------------
Project Project1.exe raised exception class EAccessViolation with message 'Access violation at address 00459B8B in module 'Project1.exe'. Read of address 0000019C'. Process stopped. Use Step or Run to continue.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0416 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.