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

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

Войти
Регистрация
Восстановить пароль
 
Van111
209 / 188 / 4
Регистрация: 03.08.2011
Сообщений: 2,597
Записей в блоге: 12
#1

Несколько cpp модулей - C++

15.11.2012, 19:27. Просмотров 568. Ответов 5
Метки нет (Все метки)

разрабатывая один проект наталкнулся на такую фичу/баг

C++
1
2
unit1.h
int al;
C++
1
2
3
4
5
6
7
8
9
unit1.cpp
#include "windows.h"
#include "unit1.h" 
 
//Дальше все стандартно за исключением того, что заполняется структурка DEVMODE и устанавливаются DisplaySettings 
int WINAPI WinMain( HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR lpCmd, int nShowCmd)
{
    return 0;
}
C++
1
2
3
unit2.cpp
#include "unit1.h"
extern int al;
1>unit2.obj : error LNK2005: "int al" (?al@@3HA) уже определен в unit1.obj
1>C:\Projects\test1\Debug\test1.exe : fatal error LNK1169: обнаружен многократно определенный символ - один или более


архангельский пишет что на борланде можно выкрутится через extern int al;
но на MVC 2010 это не помогло , что делать(этот код я взял для примера, чтоб не морочить вам головы своим проектом)
заранее огромное спасибо, извените за орфографические ошибки
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.11.2012, 19:27
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Несколько cpp модулей (C++):

Подключение .h в несколько .cpp - C++
всем доброго времени суток решил написать несколько простеньких консольных игрушек. и решил использовать пространства имён, заголовочные...

Несколько *.cpp в одном проекте - C++
Добрый день! В приложении требуется несколько *.cpp как выполнить код каждой *.cpp ?

Несколько *.cpp и глобальные переменные - C++
Всем привет! Есть несколько *.cpp файлов, к которым подключен один *.h файл. В *.h файле объявлены глобальные переменные, работа с...

Несколько cpp файлов в проекте - C++
Доброго времени суток ! Есть проект и в нем 2 cpp файла: Main.cpp и BinaryNumber.cpp В последнем файле создан класс и его методы....

Как разбить код на несколько *.CPP* - C++
Как разбить код на несколько *.CPP* Добрый вечер - при изучении языка С где то в литературе видемо упустил такую информацию и не где...

Несколько модулей с одним пространством имен - C++
Хочу сделать несколько модулей ,с разными пространствами имен .Но ,чтобы при этом они бы ли в одном более общем пространстве имен ...

5
castaway
Эксперт С++
4884 / 3019 / 370
Регистрация: 10.11.2010
Сообщений: 11,078
Записей в блоге: 10
Завершенные тесты: 1
15.11.2012, 19:33 #2
У тебя наоборот, в заголовочном файле надо описать её как extern, а определить в одном модуле.
0
Van111
209 / 188 / 4
Регистрация: 03.08.2011
Сообщений: 2,597
Записей в блоге: 12
15.11.2012, 19:38  [ТС] #3
Цитата Сообщение от lazybiz Посмотреть сообщение
У тебя наоборот, в заголовочном файле надо описать её как extern, а определить в одном модуле.
спасибо, а она будет глобальной ?

Добавлено через 50 секунд
то есть - не статической ?
0
castaway
Эксперт С++
4884 / 3019 / 370
Регистрация: 10.11.2010
Сообщений: 11,078
Записей в блоге: 10
Завершенные тесты: 1
15.11.2012, 19:51 #4
Глобальной.
0
Van111
209 / 188 / 4
Регистрация: 03.08.2011
Сообщений: 2,597
Записей в блоге: 12
15.11.2012, 20:45  [ТС] #5
а почему не получилось сделать так
класс камера
C++
1
Tcamera_system camera_system;
модуль 1
C++
1
//...............-----------
модуль 2(game_unit.cpp)
C++
1
extern Tcamera_system camera_system;
выводит
>main.obj : error LNK2005: "struct Tcamera_system camera_system" (?camera_system@@3UTcamera_system@@A) уже определен в game unit.obj

Добавлено через 17 минут
всё разобрался надо Tcamera_system camera_system; и extern Tcamera_system camera_system;
местами поменять
0
Evg
Эксперт CАвтор FAQ
17947 / 6178 / 413
Регистрация: 30.03.2009
Сообщений: 16,970
Записей в блоге: 27
15.11.2012, 20:48 #6
На всякий случай
Для чего нужен define?
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.11.2012, 20:48
Привет! Вот еще темы с ответами:

Как соединить несколько модулей с помощью #include? - C++
Очередная тема из разряда "просвети нуба" ;) Допустим, у меня есть три отдельных модуля, скажем main, ref1 и ref2. Отсюда получается 6...

С помощью командной строки >namberstr f1.cpp Определить число строк в файле с именем f1.cpp - C++
С помощью командной строки >namberstr f1.cpp Определить число строк в файле с именем f1.cpp

Подключение файлов main.cpp some.cpp some.h - C++
Всем привет, программа разделенна на три файла poly.cpp main.cpp poly.h Кто мог бы объяснить как происходит подключение этих файлов, и как...

Библиотеки в CPP. Ошибка компиляции | CPP - C++
Доброго вечера! Появился один вопросик недавно. Начал юзать библиотеку <windows.h> для использования такой команды как "system" в коде....


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

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

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