1
我从http://www.libsdl.org/下载了最新的SDL HG,并使用VS2010编译了它们。一切正常,但动态链接不方便。 我将项目属性(在SDL HG中)更改为静态编译,但是现在在使用这些库的项目中出现了很多连接器“无法解析的外部符号”的错误。 如何正确编译库?如何使用VS2010静态编译Windows上的SDL游戏
我从http://www.libsdl.org/下载了最新的SDL HG,并使用VS2010编译了它们。一切正常,但动态链接不方便。 我将项目属性(在SDL HG中)更改为静态编译,但是现在在使用这些库的项目中出现了很多连接器“无法解析的外部符号”的错误。 如何正确编译库?如何使用VS2010静态编译Windows上的SDL游戏
如果你想静态VS2010中编译SDL必须从DLL作为“接头”(更改配置的类型LIB,并设置在“库”的所有依赖(对于LIB配置)为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>