【问题标题】:stlport compilation with Visual Studio 2008 SP1 (msvc9) on Windows 7 x64 doesn't work在 Windows 7 x64 上使用 Visual Studio 2008 SP1 (msvc9) 进行 stlport 编译不起作用
【发布时间】:2011-05-11 00:42:04
【问题描述】:

我从https://stlport.svn.sourceforge.net/svnroot/stlport/trunk/STLport 下载了 stlport,并尝试在 Windows 7 x64 上使用 Visual Studio 2008 SP1 编译它。 自述文件说要使用:configure -c msvc9 但 -c 是一个未知的编译器选项,所以我使用了:configure msvc9 根据输出,这似乎有效,但事实并非如此。 build/lib 目录保持为空。

你有什么建议吗?

【问题讨论】:

标签: c++ visual-c++ visual-studio-2008 stlport


【解决方案1】:

configure 脚本不是像大多数 Unix 类型软件那样创建配置吗?诚然,自从我使用 STLport 以来已经有一段时间了,但我认为您可能必须先运行配置,然后可能需要第二个构建步骤,涉及到 nmake/make 才能启动实际构建。

【讨论】:

  • 是的,我知道,但是配置没有配置任何东西。下一步是进入 build/lib 并使用 nmake,但 makefile 不存在。
【解决方案2】:

对于 DC++,编译说明 here 建议对于 MSVC9 (SP1),您不需要 STLPort,因为 tr1 容器已经在 SP1 中。你有没有尝试过这个?

编译器

Microsoft Visual C++ 9.0 (2008) 与 至少 Service Pack 1:

获取 https://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=17034&wa=wsignin1.0, 修复 SP1 的 hotfixed-hotfix。 从 www.openssl.org 下载 OpenSSL 并编译它。你应该得到 名为 libeay32.lib 的库和 ssleay32.lib;把它们复制进去 打开ssl/lib。在调试中编译 DC++ 模式,OpenSSL 库必须是 也在调试模式下编译(阅读他们的 指令文件;这是一个问题 在 do_* 文件中添加“调试” 采用)。将调试库重命名为 libeay32d.lib 和 ssleay32d.lib;放 它们在 openssl/lib 中。

STLPort 不在依赖列表中,除非您使用没有 TR1 容器的“其他”编译器。

【讨论】:

  • 你说得对,我不知道。我现在可以使用或不使用 stlport 进行编译,谢谢。
【解决方案3】:

我找到了解决办法:

我使用“Visual Studio 2008 命令提示符”(用于变量和路径)和来自 http://strongdc.sourceforge.net/download/STLPort.7z 的配置脚本,我将所有 svn 文件复制到这个 7z 中的文件上 然后我将 stlport\stlport\type_traits 中的每个“_value”替换为“_stlvalue”。 在文件夹“stlport\build\lib>”中,我执行“configure -c msvc9”,然后执行“nmake /f msvc.mak clean install”。

我从 svn 下载的配置脚本仍然显示: " c:\stlport>配置-c msvc9 适用于 Windows 的 STLport 配置工具

未知编译器:-c

未知选项:msvc9

设置平台:Windows XP

完成配置 STLport。 "

(我使用的是我下载的 7z 的脚本)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-07-02
    • 1970-01-01
    • 2023-03-17
    • 1970-01-01
    • 2010-11-09
    • 1970-01-01
    • 1970-01-01
    • 2011-03-26
    相关资源
    最近更新 更多