c++ - 如何将 PDCurses 链接到 Windows 上的 C++ 应用程序?

标签 c++ windows linker ncurses pdcurses

我正在构建一个 C++ 应用程序,需要在 Windows 上使用 PDCurses。我正在使用来自 MS VS 2005 的 VC++ 进行编译,但出现链接错误。

 error LNK2019: unresolved external
 symbol __imp__GetKeyState@4 referenced
 in function __get_key_count

共有 11 个错误,错误代码相同,符号不同。缺少的符号是 __imp__MapVirtualKeyA@8、__imp__FindWindowA@8、__imp__wsprintfA、__imp__SendMessageA@16、__imp__GetWindowThreadProcessId@8、__imp__MessageBeep@4。这几乎就像 VC++ 找不到这些函数的适当 ASCII 实现一样。我还应该注意到,PDCurses 附带的演示程序编译得很好,尽管它们是 C 程序。

在 C++ 程序中,我使用

包含 header
extern "C" 
{ 
    #include <curses.h> 
}

我确定我忘记链接某些 C 标准库,但我不确定是哪个。

最佳答案

GetKeyState() 是“user32.dll”中的 Windows 函数,因此您需要确保链接到“user32.lib”。您可能还需要确保它也出现在链接器库列表中的 PDCurses 库之后。

关于c++ - 如何将 PDCurses 链接到 Windows 上的 C++ 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/399538/

相关文章:

c++ - QSqlField name()方法返回 ""

c++ - cvSVM 训练对 HOGDescriptor 的结果很差

c++ - 使用 Cmake 的 RelWithDebInfo 作为默认构建类型

windows - False 'Sharing Violation' Xcopy 错误信息

PHP ZipArchive 不添加任何文件 (Windows)

windows - 如何在批处理文件中引用随机数(%random%)

c++ - 链接共享库 libdvbv5, undefined reference

C++ int a[n] 在 g++ 中工作但在 vs2008 中不工作

cocoa - 构建期间与 Core Plot 链接时出错

c++ - 第一次使用 boost - 为什么我在构建时不必明确链接到它?