我已经成功构建了一个可以在Linux上使用Qt读取Mifare 1K卡的程序。所以现在,我希望它能在Windows上运行。从我收集的信息来看,Windows上没有PCSC-Lite端口,我需要使用Windows SDK中的winscard。我已经下载了它,并且从Windows中的Qt中获取了很多未定义的参考错误(与MingW一起)。例如:Windows上的PCSC-Lite代码
release/ReadCard.o:ReadCard.cpp:(.text+0x48e): undefined reference to `pcsc_stringify_error' release/ReadCard.o:ReadCard.cpp:(.text+0x5e9): undefined reference to `pcsc_stringify_error' release/ReadCard.o:ReadCard.cpp:(.text+0x7ed): undefined reference to `pcsc_stringify_error' release/ReadCard.o:ReadCard.cpp:(.text+0x2e56): undefined reference to `SCardListReaderGroups' release/ReadCard.o:ReadCard.cpp:(.text+0x3adc): undefined reference to `SCardListReaders' release/ReadCard.o:ReadCard.cpp:(.text+0x3cc6): undefined reference to `SCardListReaders' release/ReadCard.o:ReadCard.cpp:(.text+0x3f88): undefined reference to `SCardGetStatusChange' release/ReadCard.o:ReadCard.cpp:(.text+0x4274): undefined reference to `SCardConnect' release/ReadCard.o:ReadCard.cpp:(.text+0x4d1b): undefined reference to `SCardGetStatusChange
我也试过在项目中指定这些库,但仍然失败。
LIBS += -lwinscard -lpcsclite WinSCard.Lib
我已经删除了pcsc_stringify_error,但如预期的那样,我仍然有其他错误。我不知道如何在我的项目中实现OpenSC,即使它看起来很相似。你能详细说明一下吗? BTW,我尝试在Visual C++ .NET编码,当我使用的#include我可以使用SCardEstablishContext没有任何问题,我没有错误,但是当我使用Qt中的代码我得到了错误。 –
amree
2009-12-02 05:09:47
这已经是一个关于Qt而不是PC/SC的问题。无法帮助你,知道你的工具。 – 2009-12-03 08:10:35