Не удалось построить мой проект в режиме выпуска! Пожалуйста, помогите мне - PullRequest
1 голос
/ 01 февраля 2010

У меня здесь очень сложная ситуация ... На самом деле я занимаюсь разработкой проекта MFC. В моем проекте у меня есть еще один небольшой проект, включенный в качестве входных данных для моего основного проекта. Я установил «использование MFC» - -Как "использовать MFC в Shared Dll" в настройках моего проекта ... это прекрасно работает ... но когда я установил "использование MFC" - как "использовать MFC в статической DLL" .. я не могу построить проект оба в режиме отладки / выпуска. Причина, по которой я не хочу устанавливать «использовать MFC как Shared Dll», заключается в том, что я хочу, чтобы мой проект выполнялся на машине, которая не поддерживает Visual Studio ... Я получаю следующую ошибку:

ошибка LNK2005: «оператор void * __cdecl new (unsigned int)» (?? 2 @ YAPAXI @ Z) уже определен в Client7z.lib (NewHandler.obj) uafxcwd.lib SelfExtractor

Я прочитал статью http://support.microsoft.com/kb/148652[^]..as в соответствии с их предложением, я пытался игнорировать следующую библиотеку Nafxcwd.lib; Libcmtd.lib, но все еще не работает ... если вы, ребята, знаете какое-либо решение, пожалуйста, помогите мне ,

Ответы [ 2 ]

1 голос
/ 01 февраля 2010

Проверьте эти настройки в режиме отладки:

Link->General:
Object/Libary modules: Nafxcwd.lib Libcmtd.lib Client7z.lib

Link->Input:
Object/Libary modules: Nafxcwd.lib Libcmtd.lib Client7z.lib
Ignore libraries: libcmtd.lib,libcd.lib

Дикая догадка, но, по крайней мере, вы можете попробовать.

0 голосов
/ 01 февраля 2010

Вы также должны изменить среду выполнения C на статическую версию. Он находится в C / C ++ -> Генерация кода -> Библиотека времени выполнения.

Установите его в / MT (выпуск) или / MTd (отладка).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...