Error Lnk2005:

Тема в разделе "MS Visual C++", создана пользователем cli_jmp, 29 дек 2007.

Статус темы:
Закрыта.
  1. cli_jmp

    cli_jmp Гость

    Помогите пожалуйста разобраться.Пишу в 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)?
     
  2. Pasha

    Pasha Гость

    Для: cli_jmp
    Другой способ: не объявлять глобальные переменные в h-файлах и узнать что именно делает директива #include.
     
  3. European

    Регистрация:
    4 сен 2006
    Сообщения:
    2.580
    Симпатии:
    0
    При объявлении g_lpD3D нужно использовать extern

    Подробности вот ЗДЕСЬ, глава 4.3.1
     
Загрузка...
Похожие Темы - Error Lnk2005
  1. Kalista
    Ответов:
    1
    Просмотров:
    123
  2. anna
    Ответов:
    11
    Просмотров:
    879
  3. glass44
    Ответов:
    0
    Просмотров:
    584
  4. Barakuda
    Ответов:
    0
    Просмотров:
    579
  5. cobra77777
    Ответов:
    5
    Просмотров:
    1.088
Статус темы:
Закрыта.

Поделиться этой страницей