我有一个项目使用Effects11.lib和Effects11d.lib,但是当我构建我的项目时,我得到一堆“错误LNK2038:检测到'__MSC_VER'错误:value' 1600'不匹配值'1800'“。从我发现的情况来看,这就是说.lib是为VS的不同版本构建的,而不是我正在使用的,我需要重新编译它们。问题是我不知道如何做到这一点。从来不必在之前重新编译一个库。如何在Visual Studio 2013中重新编译.lib
回答
通过本书的作者网站@http://www.d3dcoder.net/d3d11.htm,看起来好像Effects11.lib是Ms-Pl许可的源代码。
http://msdn.microsoft.com/en-us/library/windows/desktop/ff728664(v=vs.85).aspx
,然后链接到
其在
https://fx11.codeplex.com/releases/view/150822
下载该库的源里面好像有项目文件,这是可搭配VS2013使用,因此您可以使用d能够为vs2013构建effects.lib并继续开发。
另外,你可以联系作者本人从他的网页,看看他是否可以为你做到这一点,并链接到它,因为它可能你不是唯一一个打这个问题?
谢谢。这似乎解决了我的问题。我只有1个其他错误来纠正,然后希望我可以运行我的程序。 – Desenski
这些静态库是使用VS 2010构建的,但是您使用的是VS 2013.链接错误告诉您这一点。
此情况下的修复方法是访问CodePlex上的Effects 11站点,然后使用VS 2013编译器构建Effects 11的全新副本。或者,你可以使用NuGet包这是VS 2013年建成
注意,当你使用VS 2013,其中包括在Windows 8.1 SDK与有些过时月神的书,你可能会试图使同一版本使用已弃用的D3DX11库。您当然可以在VS 2013中做到这一点,但您必须对项目的include/lib路径进行一些调整才能使其运行。见MSDN。 来自CodePlex或NuGet的Effects 11库版本完全不依赖于旧版DirectX SDK。
我对该书here也有一些一般说明。
有关D3DX11替代品的完整列表,请参阅Living without D3DX。
- 1. 编译FFMPEG在Visual Studio 2013
- 2. 编译* .lib文件visual studio
- 3. Visual Studio 2013 VC++编译器
- 4. TypeScript在Visual Studio 2013中编译目标
- 5. 在Visual Studio 2013中编译静态库
- 6. 如何在Visual Studio 2013中编译.h和.hpp
- 7. 如何获取在Visual Studio 2013中编译的boost/serialization-libs?
- 8. 如何在Visual Studio 2013中编译ArcGIS Desktop加载项
- 9. 如何在visual studio 2013 express中编译Coffeescript?
- 10. 如何在Visual Studio 2013中自动编译T4模板?
- 11. Visual Studio 2013 C++不编译更改
- 12. ASP.NET MVC和Visual Studio 2013:编译错误
- 13. C++ Visual Studio 2013编译错误?
- 14. Visual Studio 2013自定义编译器
- 15. 使用Visual Studio Express编译64位2013
- 16. Visual studio 2013编译严格C++ 11
- 17. 编译时出现Visual Studio 2013错误
- 18. Visual Studio 2013编译器警告
- 19. visual studio 2013上的g ++编译器
- 20. 运算符重载编译在Visual Studio 2013而不是gcc的
- 21. 如何编辑Microsoft Visual Studio 2013编译器开关?
- 22. 如何在visual studio 2010中编译C?
- 23. 如何在Visual Studio中编译Autodock Vina?
- 24. 如何在Visual Studio中编译Arduino?
- 25. 如何在Visual Studio中编译Labview CIN?
- 26. 在Visual Studio 2015下使用Microsoft Visual C++ 2013编译
- 27. 可重新编译的编译器 - 用于MS Visual Studio的DLL
- 28. 如何完全重置Visual Studio 2013
- 29. 在Visual Studio 2013中为Web编译较少的文件
- 30. static_assert(标准:: is_abstract)导致在Visual Studio中编译器错误2013
您从源代码开始。 –