在 MSVC10 上使用 llvmpipe 构建 Mesa 3d 7.10
有人在 Windows 上使用 LLVM 2.8 和 Visual Studio 2010 工具链成功构建了带有 llvmpipe 驱动程序的 Mesa 7.10 吗?
官方发布文件不包含 SConscript,因此我从他们的 git 存储库中获取了 7.10 分支并尝试构建它。我收到关于 __fopen、__exit 和其他标准库的奇怪链接错误。
更新: 遇到问题了。两者都必须使用相同的运行时库进行编译,但 LLVM 使用 MD 进行编译,而 Mesa 使用 MT 进行编译。所以我都换成MT了。但仍然有一个问题 - 它给了我一个关于 __va_copy 的链接错误。我可以看到它是从 Mesa 代码调用的,并且代码可以正确编译,但无法链接。我不明白为什么:/
Has anybody successfully build Mesa 7.10 with llvmpipe driver using LLVM 2.8 on Windows with the Visual Studio 2010 toolchain?
The official release files contain no SConscript, so I got the 7.10 branch from their git repository and tried to build it. I get weird link errors about __fopen, __exit and other standard libraries.
Update:
Got the problem. Both had to compile with the same runtime libraries, but LLVM was compiled with MD and Mesa with MT. So I switched both to MT. But still have a problem - it gives me a link error about __va_copy. I can see it is called from the Mesa code, and the code compiles properly but DOES NOT LINK. I don't understand why :/
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
并非所有编译器都提供 va_copy。您可能会在台面代码中添加一个简单的#define 宏。有关 va_copy 的讨论,请参阅 va_copy -- 移植到 Visual C++?。
va_copy is not provided by all compilers. You might get away with adding a simple #define macro in the mesa code. See va_copy -- porting to visual C++? for a discussion about va_copy.