CFtpConnection :: GetCurrentDirectory未解析的令牌错误。其他功能,如SetCurrentDirectory工作

时间:2012-07-26 16:55:16

标签: c++ visual-studio-2010 unmanaged managed

dll编译为非托管代码,但是当我在项目属性中添加/ clr并更改为在共享DLL中使用MFC时,mfCFtpConnection :: GetCurrentDirectory给出了LNK2028和LNK2019错误。哪些是未解决的令牌和未解决的永久符号错误。

我有#include并链接了wininet.lib。所以我很困惑。

我在线阅读了一个用户遇到此问题的帖子,它与mfc100.lib相关,将CFtpConnection :: GetCurrentDirectory重命名为CFtpConnection :: GetCurrentDirectoryA。没有解决方案,微软代表说它将在mfc100.lib的未来版本中修复。我不知道这是不是问题。

这是帖子的链接。 Link to online Post

任何想法都让我发疯。

此外,我尝试了CFtpConnection :: GetCurrentDirectoryAsURL并且代码编译得很好。

1 个答案:

答案 0 :(得分:0)

我认为这个错误源于这样一个事实,即有一些#define用于偷偷摸摸对MFC dll的CLR限制。 如果您使用的是VS2010,则可以将鼠标悬停在方法名称上,您将看到在生成的#define文件中重命名方法的.obj语句。由于它已被重命名,代码中的其他模块将无法链接到它。