我应该在同一个解决方案中的2个项目中引用相同的静态库。虽然链接一个项目有这个参考,但另一个项目没有。所以我在第二个项目中遇到链接错误。但是,我只能在.vcxproj文件中看到区别:
一个人有这条线:
<AdditionalOptions>/ERRORREPORT:PROMPT ..\debug\membraneStaticLibr.lib DelayImp.lib %(AdditionalOptions)</AdditionalOptions>
另一个没有这条线。请参阅下面的代码。
Visual C ++ GUI的项目属性中反映的静态库的区别在哪里?
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>false</MinimalRebuild>
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalOptions>/ERRORREPORT:PROMPT ..\debug\membraneStaticLibr.lib DelayImp.lib %(AdditionalOptions)</AdditionalOptions>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
<LinkErrorReporting />
</Link>
答案 0 :(得分:2)
ExtraOptions 字段可在项目属性 - &gt; 配置属性 - &gt; 链接器中找到 - &gt; 命令行。 但是,在那里指定依赖项是不可行的。使用链接器中的附加依赖项字段,或者甚至更好地在公共属性中项目引用。