Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > Не линкуется программа с переменной в .h


Автор: Чупакабро 26.9.2012, 16:50
Есть 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

Автор: bsa 26.9.2012, 16:55
"проблема" стара как мир. в хидере должно быть только объявление переменной: extern int a; А вот определение должно быть в одном из cpp

Автор: Чупакабро 26.9.2012, 17:04
bsa, спасибо!
Но ведь это так тщательно от меня скрывали...
Все. пошел дальше писать свой проЭкт ммо рпг движок

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)