4

我在 Code::Blocks 上制作 2048 游戏,但由于调试问题,我转到 Visual Studio Community 2017。似乎 conio.h 在那里不起作用,所以我正在尝试切换到 curses.h 库.

我已经阅读了很多教程,但没有一个对我有用。我访问了他们的网站并下载了.zip384 KB 的文件,但我不知道如何处理这些文件。

请帮忙?

4

2 回答 2

7

我找到了一个非常有用的网站,它讨论了 PDCurses 及其在 Visual Studio 中的安装。尽管它是针对 2010/2013 年的,但它在 VS2017 中确实对我有用——甚至是演示程序(有非常细微的变化)!

所以这是我做的步骤(因为你已经有了 PDCurses):

  1. 在VS2017社区版的开发者命令提示符下输入set PDCURSES_SRCDIR=<PDCurses Directory Location>;在我的情况下

    set PDCURSES_SRCDIR=C:\pdcurses-master
    

    注意:这里我们设置编译所需的环境变量。如果您需要 pdcurses 库定义的附加功能,您可能需要在此步骤中设置相应的变量。例如,如果您需要宽字符支持,您可以使用set WIDE=1. 要查看所有可用选项,您可以在任何文本编辑器中打开 make 文件(在下一步中提到)并查找if conditionals

  2. 在命令窗口中导航到 PDCurses/win32 的目录(在我的例子中C:\pdcurses-master\win32

    nmake –f vcwin32.mak
    

    (这是 PDCurses 的 make 文件。)它将pdcurses.lib为我们的 Visual Studio 创建。

  3. 现在我们需要将生成的库合并到我们的项目中。所以打开你的项目并转到项目属性

    • 在“VC++ 目录”中,更改:
      • 包含目录:向 PDCurses 安装目录添加一个新的文件路径,在我的例子中是C:\pdcurses-master.
      • 库目录:向 PDCurses 安装库目录添加一个新的文件路径,在我的例子中是C:\pdcurses-master\win32.
    • 在 C/C++ 中:
      • 在“代码生成”选项卡中,将“运行时库”更改为“多线程调试 (/MTd)”。(通常已经设置好了)
    • 在链接器中:
      • “输入”选项卡中,添加pdcurses.lib到附加依赖项(我最初感到困惑 - 请记住,它是链接器的输入选项卡)
    • 单击应用,然后确定。

然后哇!我从 pdcurses 项目中运行了一些示例程序(演示),所有这些程序都对我有用,只需稍作修改。

注意:我使用 Visual Studio 2017 创建了一个 Windows(也称为 Win32,如 Win32 API)控制台应用程序并加载了项目。我确实包含了 stdafx.h 并且编译成功,并且能够在终端窗口中看到输出。

上述网站也提供了 PDF 文档。那里的说明从从网站下载 pdcurses 开始。

于 2017-04-30T04:29:56.710 回答
2

这已经是老新闻了,但它可能有助于有人知道 pdcurses 已打包在 vcpkg 上。

要使用它,(假设您安装了 vcpkg,当然,(安装 vcpkg))

vcpkg install pdcurses

你要去参加比赛了。vcpkg 将负责确保所有包含和库路径都已设置。

于 2021-04-18T23:12:04.077 回答