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>