2014-03-06 4 views
0

최신 프로젝트를 컴파일 (VS에서 빌드 실행) 할 때 다음과 같은 오류가 발생합니다. 본 사이트에서 다른 질문/답변을 읽었지만 현재까지 문제를 해결할 운이 없습니다.Visual Studio 2013 링커 혼동

나는 내 문제가 다른 라이브러리를 연결하는 것과 관련되어 있지만, 왜 내가 모르는이 문제를 겪고 있는지 알고있다.

컴파일이 정상적으로 작동하지만 이전에는 오류를 제거 할 수 없었습니다.

도움이 될 것입니다. 여기

내 오류 목록 및 구성 파일이

>1>msvcprt.lib(MSVCP100.dll) : error LNK2005: "void __cdecl std::_Xlength_error(char const *)" ([email protected]@@[email protected]) already defined in libcpmt.lib(xthrow.obj) 
1>MSVCRT.lib(MSVCR100.dll) : error LNK2005: "public: __thiscall std::exception::exception(char const * const &)" ([email protected]@@[email protected]@Z) already defined in LIBCMT.lib(stdexcpt.obj) 
1>MSVCRT.lib(MSVCR100.dll) : error LNK2005: "public: virtual __thiscall std::exception::~exception(void)" ([email protected]@@[email protected]) already defined in LIBCMT.lib(stdexcpt.obj) 
1>MSVCRT.lib(MSVCR100.dll) : error LNK2005: __vsnprintf_s already defined in LIBCMT.lib(vsnprnc.obj) 
1>MSVCRT.lib(MSVCR100.dll) : error LNK2005: "public: __thiscall std::exception::exception(class std::exception const &)" ([email protected]@@[email protected]@@Z) already defined in LIBCMT.lib(stdexcpt.obj) 
1>MSVCRT.lib(MSVCR100.dll) : error LNK2005: _atoi already defined in LIBCMT.lib(atox.obj) 
1>MSVCRT.lib(MSVCR100.dll) : error LNK2005: _memmove already defined in LIBCMT.lib(memmove.obj) 
1>MSVCRT.lib(MSVCR100.dll) : error LNK2005: _printf already defined in LIBCMT.lib(printf.obj) 
1>MSVCRT.lib(ti_inst.obj) : error LNK2005: "private: __thiscall type_info::type_info(class type_info const &)" ([email protected]@[email protected]@@Z) already defined in LIBCMT.lib(typinfo.obj) 
1>MSVCRT.lib(ti_inst.obj) : error LNK2005: "private: class type_info & __thiscall type_info::operator=(class type_info const &)" ([email protected]@[email protected]@@Z) already defined in LIBCMT.lib(typinfo.obj) 
1>LINK : warning LNK4098: defaultlib 'MSVCRT' conflicts with use of other libs; use /NODEFAULTLIB:library 

> 다음과 같은 대답을 봤어

<?xml version="1.0" encoding="utf-8"?> 
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
    <ItemGroup Label="ProjectConfigurations"> 
    <ProjectConfiguration Include="Debug|Win32"> 
     <Configuration>Debug</Configuration> 
     <Platform>Win32</Platform> 
    </ProjectConfiguration> 
    <ProjectConfiguration Include="Release|Win32"> 
     <Configuration>Release</Configuration> 
     <Platform>Win32</Platform> 
    </ProjectConfiguration> 
    </ItemGroup> 
    <PropertyGroup Label="Globals"> 
    <ProjectGuid>{94CF9190-4DC8-4B09-9579-CF385879D9B5}</ProjectGuid> 
    <Keyword>Win32Proj</Keyword> 
    <RootNamespace>OC</RootNamespace> 
    <SccProjectName>SAK</SccProjectName> 
    <SccAuxPath>SAK</SccAuxPath> 
    <SccLocalPath>SAK</SccLocalPath> 
    <SccProvider>SAK</SccProvider> 
    <ProjectName>OCP4NGX</ProjectName> 
    </PropertyGroup> 
    <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> 
    <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> 
    <ConfigurationType>Application</ConfigurationType> 
    <UseDebugLibraries>true</UseDebugLibraries> 
    <PlatformToolset>v100</PlatformToolset> 
    <CharacterSet>MultiByte</CharacterSet> 
    </PropertyGroup> 
    <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> 
    <ConfigurationType>Application</ConfigurationType> 
    <UseDebugLibraries>false</UseDebugLibraries> 
    <PlatformToolset>v100</PlatformToolset> 
    <WholeProgramOptimization>true</WholeProgramOptimization> 
    <CharacterSet>MultiByte</CharacterSet> 
    </PropertyGroup> 
    <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> 
    <ImportGroup Label="ExtensionSettings"> 
    </ImportGroup> 
    <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> 
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> 
    </ImportGroup> 
    <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> 
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> 
    </ImportGroup> 
    <PropertyGroup Label="UserMacros" /> 
    <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> 
    <LinkIncremental>true</LinkIncremental> 
    </PropertyGroup> 
    <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> 
    <LinkIncremental>false</LinkIncremental> 
    <IgnoreImportLibrary>true</IgnoreImportLibrary> 
    </PropertyGroup> 
    <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> 
    <ClCompile> 
     <PrecompiledHeader>NotUsing</PrecompiledHeader> 
     <WarningLevel>Level3</WarningLevel> 
     <Optimization>Disabled</Optimization> 
     <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions> 
     <SDLCheck>true</SDLCheck> 
     <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> 
    </ClCompile> 
    <Link> 
     <SubSystem>Windows</SubSystem> 
     <GenerateDebugInformation>true</GenerateDebugInformation> 
     <AdditionalOptions>simconnect.lib wsock32.lib %(AdditionalOptions)</AdditionalOptions> 
     <AdditionalLibraryDirectories>C:\Program Files %28x86%29\Lockheed Martin\Prepar3D v2 SDK 2.1.9936.0\Utilities\SimConnect SDK\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> 
    </Link> 
    </ItemDefinitionGroup> 
    <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> 
    <ClCompile> 
     <WarningLevel>Level3</WarningLevel> 
     <PrecompiledHeader>NotUsing</PrecompiledHeader> 
     <Optimization>MaxSpeed</Optimization> 
     <FunctionLevelLinking>true</FunctionLevelLinking> 
     <IntrinsicFunctions>true</IntrinsicFunctions> 
     <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions> 
     <SDLCheck>true</SDLCheck> 
     <MinimalRebuild>true</MinimalRebuild> 
     <RuntimeLibrary>MultiThreaded</RuntimeLibrary> 
     <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed> 
    </ClCompile> 
    <Link> 
     <SubSystem>Windows</SubSystem> 
     <GenerateDebugInformation>true</GenerateDebugInformation> 
     <EnableCOMDATFolding>true</EnableCOMDATFolding> 
     <OptimizeReferences>true</OptimizeReferences> 
     <AdditionalLibraryDirectories>C:\Program Files %28x86%29\Lockheed Martin\Prepar3D v2 SDK 2.1.9936.0\Utilities\SimConnect SDK\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> 
     <AdditionalOptions>simconnect.lib wsock32.lib %(AdditionalOptions)</AdditionalOptions> 
    </Link> 
    </ItemDefinitionGroup> 
    <ItemGroup> 
    <Text Include="OC.txt" /> 
    <Text Include="ReadMe.txt" /> 
    </ItemGroup> 
    <ItemGroup> 
    <ClInclude Include="err.h" /> 
    <ClInclude Include="IOCPClient.h" /> 
    <ClInclude Include="logger.h" /> 
    <ClInclude Include="NGXConnector.h" /> 
    <ClInclude Include="OC.h" /> 
    <ClInclude Include="PMDG_NGX_SDK.h" /> 
    <ClInclude Include="resource.h" /> 
    <ClInclude Include="settings.h" /> 
    <ClInclude Include="simconnect.h" /> 
    <ClInclude Include="stdafx.h" /> 
    <ClInclude Include="targetver.h" /> 
    </ItemGroup> 
    <ItemGroup> 
    <ClCompile Include="err.cpp" /> 
    <ClCompile Include="IOCPClient.cpp" /> 
    <ClCompile Include="logger.cpp" /> 
    <ClCompile Include="NGXConnector.cpp" /> 
    <ClCompile Include="OC.cpp" /> 
    <ClCompile Include="settings.cpp" /> 
    <ClCompile Include="stdafx.cpp"> 
     <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader> 
     <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader> 
    </ClCompile> 
    <ClCompile Include="Var_Event.cpp" /> 
    </ItemGroup> 
    <ItemGroup> 
    <ResourceCompile Include="OC.rc" /> 
    </ItemGroup> 
    <ItemGroup> 
    <Image Include="OC.ico" /> 
    <Image Include="small.ico" /> 
    </ItemGroup> 
    <ItemGroup> 
    <None Include="OCrc.txt" /> 
    </ItemGroup> 
    <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> 
    <ImportGroup Label="ExtensionTargets"> 
    </ImportGroup> 
</Project> 
+0

록히드 마틴 Prepar3D SDK에는 무엇이 필요합니까? –

+0

적어도 프로젝트가 동적 CRT에 연결되어있는 동안 정적 CRT를 사용하도록 구성된 obj 또는 lib와의 연결을 찾습니다. SDK에 동적 CRT에 바인딩 된 lib/dll 쌍이 있습니까? 아니면 최근에 프로젝트에서 사용하는 코드 생성 스타일을 변경 했습니까? – WhozCraig

+0

록히드 마틴, 전쟁 무기를 만들지 않습니까? 나는이 질문에 대답하는 것이 나의 개인 윤리와 충돌 할 것이라고 생각한다 .- P –

답변