1

我从http://www.libsdl.org/下载了最新的 SDL HG并使用 VS2010 编译它们。一切正常,但动态链接不方便。我将项目属性(在 SDL HG 中)更改为静态编译,但现在在项目(使用这些库)中有很多错误链接器“未解析的外部符号”。如何正确编译库?

4

1 回答 1

2

如果您想在 VS2010 中静态编译 SDL,您必须将配置类型从dll更改为lib,并在“Librarian”(用于lib配置)中设置所有依赖项,就像在“Linker”(用于dll配置)中一样。例如来自我的 SDL_VS2010.vcxproj

<Lib>
  <AdditionalDependencies>winmm.lib;imm32.lib;version.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Lib>
<Lib>
  <AdditionalLibraryDirectories>$(DXSDK_DIR)\lib\x86</AdditionalLibraryDirectories>
</Lib>
<Lib>
  <IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries>
  <SubSystem>Windows</SubSystem>
  <TargetMachine>MachineX86</TargetMachine>
</Lib>
<ProjectReference>
  <LinkLibraryDependencies>false</LinkLibraryDependencies>
</ProjectReference>
于 2012-07-09T14:16:08.570 回答