Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

error LNK2005:

18K
29 декабря 2007 года
SLAVIK666
3 / / 26.07.2006
Помогите пожалуйста разобраться.Пишу в 2005ой студии.
К примеру - есть 2 .cpp файла(main.cpp и second.cpp),использующие один и тот же заголовок(пусть это будет header.h).В заголовке объявлена переменная LPDIRECT3D9 g_lpD3D;

При компиляции выдает ошибку линкера

1>second.obj : error LNK2005: "struct IDirect3D9 * g_lpD3D" (...) already defined in main.obj

содержание заголовка:
#pragma once
#ifndef _HEADER_H
#define _HEADER_H

LPDIRECT3D9 g_lpD3D;

#endif

я решил проблему добавив /FORCE в коммандную строку линкера,и он ошибку просто игнорирует(показывает ее как WARNING)...

Не подскажете другой способ исправления данной проблемы(без /FORCE)?
3
30 декабря 2007 года
Green
4.8K / / 20.01.2000
Цитата: SLAVIK666

В заголовке объявлена переменная LPDIRECT3D9 g_lpD3D;


Она у тебя не объявлена, а определена.
Объявление переменной выглядит так:
extern LPDIRECT3D9 g_lpD3D;

Ну а вообще, использование глобальных переменных - плохая практика.

Цитата: SLAVIK666

я решил проблему добавив /FORCE в коммандную строку линкера,и он ошибку просто игнорирует(показывает ее как WARNING)...
/FORCE)?


Лучше не использовать FORCE, если ты не достаточно хорошо разбираешься в том, что делаешь.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог