error LNK2005:
К примеру - есть 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)?
Цитата: SLAVIK666
В заголовке объявлена переменная LPDIRECT3D9 g_lpD3D;
Она у тебя не объявлена, а определена.
Объявление переменной выглядит так:
extern LPDIRECT3D9 g_lpD3D;
Ну а вообще, использование глобальных переменных - плохая практика.
Цитата: SLAVIK666
я решил проблему добавив /FORCE в коммандную строку линкера,и он ошибку просто игнорирует(показывает ее как WARNING)...
/FORCE)?
Лучше не использовать FORCE, если ты не достаточно хорошо разбираешься в том, что делаешь.