Ru-MaNGOS

Ru-MaNGOS (http://mangos.ytdb.ru/index.php)
-   Установка MaNGOS (http://mangos.ytdb.ru/forumdisplay.php?f=25)
-   -   Проблема компиляции SD2, вопрос про LINK'овку (http://mangos.ytdb.ru/showthread.php?t=3946)

DiffuSer 21.03.2011 19:13

Проблема компиляции SD2, вопрос про LINK'овку
 
Не могу собрать SD2. Ругается на следующее:

LNK2005: DllMain already defined in *

Где звездочка - 500 с лишним файлов *.obj, в самом конце компиляции выдает. Почитал, проблема с линкером, но как исправить - не нашел. Подскажите пожалуйста.

Ambal 21.03.2011 20:10

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

Решение: найти функцию DllMain и вынести ее в любой .cpp файл в проекте.

DiffuSer 21.03.2011 21:28

У insider'а тоже в precompiled.h функция DllMain (как и у меня). Компилируется. Я читал что-то смутное про статическую линковку - не понял, где надо подшаманить в VS 2008. К тому же у меня устойчивое ощущение, что эта проблема связанна с тем, что у меня с PCH не хочет компилировать, ругается на несуществующий файл mangosscript.pch.

Ambal 21.03.2011 22:03

Цитата:

Сообщение от DiffuSer (Сообщение 20207)
У insider'а тоже в precompiled.h функция DllMain.

Я вас поздравляю, нашли чему учиться :mda: Вынесите эту функцию в любой .срр файл или объявите ее как inline, тогда у вас все слинкуется.

DiffuSer 21.03.2011 23:54

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


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

ru-mangos.ru - Русское сообщество MaNGOS