ошибка LNK2005: новый и уже удаляют определенный в LIBCMTD.lib (new.obj)

Трудно для сообщения наверняка но вот две "близких" вещи, которые могут помочь.

$ ps aux 

даст Вам Виртуальный Размер (VSZ)

, можно также получить подробную статистику от/proc файловой системы путем движения в /proc/$pid/status

, самым важным является VmSize, который должен быть близко к тому, что ps aux дает.

/proc/19420$ cat status
Name:   firefox
State:  S (sleeping)
Tgid:   19420
Pid:    19420
PPid:   1
TracerPid:  0
Uid:    1000    1000    1000    1000
Gid:    1000    1000    1000    1000
FDSize: 256
Groups: 4 6 20 24 25 29 30 44 46 107 109 115 124 1000 
VmPeak:   222956 kB
VmSize:   212520 kB
VmLck:         0 kB
VmHWM:    127912 kB
VmRSS:    118768 kB
VmData:   170180 kB
VmStk:       228 kB
VmExe:        28 kB
VmLib:     35424 kB
VmPTE:       184 kB
Threads:    8
SigQ:   0/16382
SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 0000000000000000
SigIgn: 0000000020001000
SigCgt: 000000018000442f
CapInh: 0000000000000000
CapPrm: 0000000000000000
CapEff: 0000000000000000
Cpus_allowed:   03
Mems_allowed:   1
voluntary_ctxt_switches:    63422
nonvoluntary_ctxt_switches: 7171

33
задан Helen 29 July 2009 в 19:42
поделиться

4 ответа

Проверьте файл манифеста обоих проектов, убедитесь, что они связывают одну и ту же версию стандартной библиотеки. Скорее всего, нет, проверьте свойства-> генерация кода-> компоновка стандартной библиотеки.

0
ответ дан 27 November 2019 в 17:36
поделиться

Убедитесь, что библиотека времени выполнения C ++, с которой вы связываетесь, совпадает с вашей статической библиотекой и исполняемым файлом. Проверьте свойства своего проекта C / C ++ -> Генерация кода-> настройки библиотеки времени выполнения.

3
ответ дан 27 November 2019 в 17:36
поделиться

Во-первых, libcmtd.lib - это отладочная версия, а libcmt.lib - для производства. Еще раз проверьте, не включаете ли вы оба.

1
ответ дан 27 November 2019 в 17:36
поделиться

Библиотеки CRT используют слабую внешнюю связь для функций new, delete и DllMain. Библиотеки MFC также содержат функции new, delete и DllMain. Эти функции требуют, чтобы библиотеки MFC были связаны до того, как будет связана библиотека CRT. http://support.microsoft.com/kb/148652

Решение на основе VS2005 (замените Nafxcwd.lib на Uafxcwd.lib для ~ VS2013)

перейдите в проект> свойства> свойства конфигурации> компоновщик> input

добавить в «Дополнительная зависимость» -> Nafxcwd.lib Libcmtd.lib

добавить в «игнорировать конкретную библиотеку» -> Nafxcwd.lib; Libcmtd.lib

порядок библиотек важен (Nafxcwd.lib; Libcmtd.lib).

65
ответ дан 27 November 2019 в 17:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: