Ru-MaNGOS

Вернуться   Ru-MaNGOS > Документация > Установка MaNGOS

Важная информация

Установка MaNGOS Установка MaNGOS

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 21.03.2011, 19:13   #1
DiffuSer
Ученый
 
Аватар для DiffuSer
 
Регистрация: 07.03.2010
Сообщений: 131
Сказал(а) спасибо: 9
Поблагодарили 10 раз(а) в 10 сообщениях
DiffuSer На верном пути
Вопрос Проблема компиляции SD2, вопрос про LINK'овку

Не могу собрать SD2. Ругается на следующее:

LNK2005: DllMain already defined in *

Где звездочка - 500 с лишним файлов *.obj, в самом конце компиляции выдает. Почитал, проблема с линкером, но как исправить - не нашел. Подскажите пожалуйста.
DiffuSer вне форума   Ответить с цитированием
Старый 21.03.2011, 20:10   #2
Ambal
MaNGOS Dev
 
Аватар для Ambal
 
Регистрация: 22.06.2010
Сообщений: 78
Сказал(а) спасибо: 24
Поблагодарили 71 раз(а) в 25 сообщениях
Ambal Скоро придёт к известности
По умолчанию

Эта ошибка говорит о том, что у вас функция входа в библиотеку определена несколько раз. Судя по всему ее не-inline тело находится в .h файле, который включается в кучу .cpp файлов проекта.

Решение: найти функцию DllMain и вынести ее в любой .cpp файл в проекте.
Ambal вне форума   Ответить с цитированием
Старый 21.03.2011, 21:28   #3
DiffuSer
Ученый
 
Аватар для DiffuSer
 
Регистрация: 07.03.2010
Сообщений: 131
Сказал(а) спасибо: 9
Поблагодарили 10 раз(а) в 10 сообщениях
DiffuSer На верном пути
По умолчанию

У insider'а тоже в precompiled.h функция DllMain (как и у меня). Компилируется. Я читал что-то смутное про статическую линковку - не понял, где надо подшаманить в VS 2008. К тому же у меня устойчивое ощущение, что эта проблема связанна с тем, что у меня с PCH не хочет компилировать, ругается на несуществующий файл mangosscript.pch.
DiffuSer вне форума   Ответить с цитированием
Старый 21.03.2011, 22:03   #4
Ambal
MaNGOS Dev
 
Аватар для Ambal
 
Регистрация: 22.06.2010
Сообщений: 78
Сказал(а) спасибо: 24
Поблагодарили 71 раз(а) в 25 сообщениях
Ambal Скоро придёт к известности
По умолчанию

Цитата:
Сообщение от DiffuSer Посмотреть сообщение
У insider'а тоже в precompiled.h функция DllMain.
Я вас поздравляю, нашли чему учиться Вынесите эту функцию в любой .срр файл или объявите ее как inline, тогда у вас все слинкуется.
Ambal вне форума   Ответить с цитированием
Старый 21.03.2011, 23:54   #5
DiffuSer
Ученый
 
Аватар для DiffuSer
 
Регистрация: 07.03.2010
Сообщений: 131
Сказал(а) спасибо: 9
Поблагодарили 10 раз(а) в 10 сообщениях
DiffuSer На верном пути
По умолчанию

Поправил файл проекта SD2, добавил пропущенный FileConfiguration для precompiled.cpp - всё собралось на отлично.
DiffuSer вне форума   Ответить с цитированием
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ошибки при компиляции slon9911 Установка MaNGOS 28 09.06.2011 00:17
Ошибка (ошибки) при компиляции ScriptDev2 lamex Флудильня 44 19.01.2011 13:25
Ошибка компиляции под Mac Os Som Установка MaNGOS 1 09.11.2010 07:43
[9823] Really fixed link error in gcc after [9816]. newsbot CMaNGOS Commits 0 02.05.2010 05:18
[9822] Fix link error in gcc after [9816] and include needed header newsbot CMaNGOS Commits 0 02.05.2010 01:50


Текущее время: 17:53. Часовой пояс GMT +3.


ru-mangos.ru - Русское сообщество MaNGOS
Главная цель проекта MaNGOS - обучающая, поэтому разрешается использовать исходный код и собранную программу только для образовательных целей.
Вы не можете использовать MaNGOS в коммерческих целях, а также не разрешается устанавливать публичные серверы на базе MaNGOS.
Любое копирование материалов, информации в любом виде без указания источника - форума Ru-MaNGOS будет считаться нарушением авторских прав и нарушением Уголовного Кодекса РФ, ст. 146 ст. 147.
Перевод vBulletin: zCarot