我要建一个C ++应用程序,需要在Windows上使用PDCurses。我用VC从MS VS 2005编译和我得到一个链接错误。

 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 ++程序,我包括使用标头

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

我敢肯定,我忘了对一些C标准库链接,但我不知道是哪一个。

有帮助吗?

解决方案

函数GetKeyState()是在“user32.dll中的”在Windows功能,所以你需要确保你链接到的“USER32.LIB”。您可能还需要确保它有链接库列表中PDCurses库后,太。

其他提示

你你的机器上建立PDCurses - 与MS VC ++?如果是这样,我不知道这是怎么回事。如果没有,那么有一个像样的机会,你正在使用的不是与MS VC ++兼容。从不同的C ++编译器混合代码充满。这也取决于你的意思是“几个其他错误”什么了一下。如果这是对“数百个错误的”怪诞轻描淡写,那么这很可能是麻烦。如果你只有很少的(比如另一半打或更少)类似的错误,那么它是不太可能的麻烦。

好的,我想通了这一点)我正在与scons的构建,我是包括具有可变USER32_LIB,USER32.LIB缺省为除了在那里它被定义为USER32.LIB窗口空字符串。在窗户部分,我有一个错字,我USER32_LIb而非USER32_LIB

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top