Вопрос: Проблемы с компиляцией (при переносе между платформами)

  • Автор темы eReS
  • Дата начала
E

eReS

Гость
#1
Добрый вечер!

Написал небольшую игру под Linux, теперь хочу скомпилировать под окнами. Но вот незнаю как, с QtCreator вообще не разобрался, а с Visual Studio проблемы. Под gcc компилируется без проблем с использованием ключей: -Xlinker -zmuldefs, под визуал студио проблемы есть, жалуется на многократное обьявление переменных. Имеется файл config.h, где розположены все глобальные переменные. Етот файл подключен ко всем классам. Видимо это и есть проблеммой.
font.obj : error LNK2005: "int level" (?level@@3HA) уже определен в ai.obj
font.obj : error LNK2005: "int screen_width" (?screen_width@@3HA) уже определен в ai.obj
font.obj : error LNK2005: "unsigned int elast" (?elast@@3IA) уже определен в ai.obj
font.obj : error LNK2005: "unsigned int * tlast" (?tlast@@3PAIA) уже определен в ai.obj
font.obj : error LNK2005: "int (* mas_enemy)[5]" (?mas_enemy@@3PAY04HA) уже определен в ai.obj
font.obj : error LNK2005: "int (* mas_tower)[7][6]" (?mas_tower@@3PAY165HA) уже определен в ai.obj
font.obj : error LNK2005: "int screen_bpp" (?screen_bpp@@3HA) уже определен в ai.obj
font.obj : error LNK2005: "int health" (?health@@3HA) уже определен в ai.obj
font.obj : error LNK2005: "struct SDL_Surface * aboutmenu" (?aboutmenu@@3PAUSDL_Surface@@A) уже определен в ai.obj
font.obj : error LNK2005: "int monsters" (?monsters@@3HA) уже определен в ai.obj
font.obj : error LNK2005: "struct SDL_Surface * fonemenu" (?fonemenu@@3PAUSDL_Surface@@A) уже определен в ai.obj
font.obj : error LNK2005: "int end_y" (?end_y@@3HA) уже определен в ai.obj
font.obj : error LNK2005: "unsigned int * tenlast" (?tenlast@@3PAIA) уже определен в ai.obj
font.obj : error LNK2005: "int end_x" (?end_x@@3HA) уже определен в ai.obj
font.obj : error LNK2005: "int screen_fps" (?screen_fps@@3HA) уже определен в ai.obj
font.obj : error LNK2005: "struct SDL_Surface * cursormenu" (?cursormenu@@3PAUSDL_Surface@@A) уже определен в ai.obj
font.obj : error LNK2005: "int start_x" (?start_x@@3HA) уже определен в ai.obj
font.obj : error LNK2005: "float (* mas_mine)[6]" (?mas_mine@@3PAY05MA) уже определен в ai.obj
font.obj : error LNK2005: "int gold" (?gold@@3HA) уже определен в ai.obj
и так 278 ошибок... что делать?
 

lazybiz

Well-Known Member
03.11.2010
1 339
0
#2
жалуется на многократное обьявление переменных
font.obj : error LNK2005: "int level" (?level@@3HA) уже определен в ai.obj
Не пробовали статическими определить переменные которые используются только внутри своих модулей?
Я так понимаю у Вас font.obj со всем конфликтует...
 
E

eReS

Гость
#3
Не пробовали статическими определить переменные которые используются только внутри своих модулей?
Я так понимаю у Вас font.obj со всем конфликтует...
Та сейчас переписую... Просто все файлы с config.h используют много класов параллельно (ревизия екрана, параметры и т.д.). Знаю это плохо, но так было удобней...