Warum ist die Laufzeitbibliothek meines Projekts MD, wenn ich sie für die Verwendung von MT konfiguriert habe?C++

Programme in C++. Entwicklerforum
Anonymous
 Warum ist die Laufzeitbibliothek meines Projekts MD, wenn ich sie für die Verwendung von MT konfiguriert habe?

Post by Anonymous »

Ich habe eine ziemlich große Codebasis und verwende Vcpkg. Ich habe zuvor /MD verwendet, aber es wurden einfach zu viele DLLs von Vcpkg erstellt, also habe ich mich entschieden, zu /MT zu wechseln.
Aus irgendeinem Grund wird jedes Projekt bis auf drei mit /MD erstellt, obwohl in den Projektdateien deutlich zu erkennen ist, dass MultiThreaded und MultiThreadedDebug die einzigen sind, die verwendet werden.
Ich habe saubere Neuerstellungen durchgeführt und alle obj- und bin-Verzeichnisse manuell gelöscht, aber nichts scheint zu funktionieren.
Hier ist die Dumpbin-Ausgabe für eine der Bibliotheken, die immer wieder als /MD endet:

Code: Select all

File Type: LIBRARY

Linker Directives
-----------------
/NODEFAULTLIB:LIBC.LIB
/DEFAULTLIB:MSVCRT.LIB
/NODEFAULTLIB:LIBCMT.LIB
/NODEFAULTLIB:LIBCPMT.LIB
/NODEFAULTLIB:LIBCP.LIB
/DEFAULTLIB:MSVCPRT.LIB
/FAILIFMISMATCH:_CRT_STDIO_ISO_WIDE_SPECIFIERS=0
/alternatename:_Avx2WmemEnabled=_Avx2WmemEnabledWeakValue
/FAILIFMISMATCH:_MSC_VER=1900
/FAILIFMISMATCH:_ITERATOR_DEBUG_LEVEL=0
/FAILIFMISMATCH:RuntimeLibrary=MD_DynamicRelease
/DEFAULTLIB:msvcprt
/FAILIFMISMATCH:annotate_string=0
/FAILIFMISMATCH:annotate_vector=0
/include:??3@YAXPEAX@Z
/DEFAULTLIB:uuid.lib
/DEFAULTLIB:uuid.lib
/DEFAULTLIB:uuid.lib
/DEFAULTLIB:atls.lib
/merge:ATL=.rdata
/DEFAULTLIB:kernel32.lib
/DEFAULTLIB:user32.lib
/DEFAULTLIB:advapi32.lib
/DEFAULTLIB:ole32.lib
/DEFAULTLIB:shell32.lib
/DEFAULTLIB:oleaut32.lib
/DEFAULTLIB:uuid.lib
/DEFAULTLIB:shlwapi.lib
/DEFAULTLIB:shlwapi.lib
/DEFAULTLIB:DbgHelp.Lib
/include:?e@?$exception_ptr_static_exception_object@Ubad_alloc_@exception_detail@boost@@@exception_detail@boost@@2Vexception_ptr@3@B
/include:?e@?$exception_ptr_static_exception_object@Ubad_exception_@exception_detail@boost@@@exception_detail@boost@@2Vexception_ptr@3@B
/DEFAULTLIB:LIBCMT
/DEFAULTLIB:OLDNAMES

Summary

50 .CRT$XCU
17C .bss
6200 .chks64
200 .data
3A4 .data$r
508 .data$rs
1076CC .debug$S
50 .debug$T
49C .drectve
13E0 .pdata
3DCF .rdata
12F8 .rdata$r
178 .text$di
13797 .text$mn
AD7 .text$x
3AF .text$yd
42 .voltbl
250F .xdata
454 .xdata$x
8 ATL$__a
8 ATL$__z
Hier ist das Projekt für die Bibliothek

Code: Select all




Debug
x64


Release
x64



{BC9BB49D-3D4C-4EC4-876B-0582D381E3FC}
Base
x64Proj
title
10.0



StaticLibrary
v145
false
MultiByte
false


StaticLibrary
v145
MultiByte
false












11.0.50727.1


bin\$(Configuration)\
obj\$(Configuration)\


bin\$(Configuration)\
obj\$(Configuration)\


true
true
true



Disabled
..\..\include;..\..\include\App;..\..\include\Rendering;..\Win;include;..\..\ThirdParty\sgCore;%(AdditionalIncludeDirectories)
_DEBUG;_LIB;_WIN32_WINNT=0x0600;NTDDI_VERSION=0x06000100;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)
false
EnableFastChecks
MultiThreaded
Fast

TurnOffAllWarnings
false
ProgramDatabase
6011;6246;6285;6328;6334;6385;6386;6540;%(DisableSpecificWarnings)
/D "_SECURE_SCL=0" %(AdditionalOptions) /utf-8
AdvancedVectorExtensions2
stdcpplatest
true


true




/D "_SECURE_SCL=0"  %(AdditionalOptions) /utf-8
MaxSpeed
AnySuitable
true
false
false
..\..\include;..\..\include\App;..\..\include\Rendering;..\Win;include;..\..\ThirdParty\sgCore;%(AdditionalIncludeDirectories)
NDEBUG;_LIB;_RELEASE;%(PreprocessorDefinitions)
MultiThreaded
false
AdvancedVectorExtensions2
Fast
NotUsing
TurnOffAllWarnings
false
ProgramDatabase


stdcpplatest
true


true












Ich bin sehr verwirrt, wo /MD herkommt, weil das Projekt selbst auf /MT eingestellt ist.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post