使用 Eclipse CDT 创建凭据提供程序

Posted

技术标签:

【中文标题】使用 Eclipse CDT 创建凭据提供程序【英文标题】:Creating a Credential Provider using Eclipse CDT 【发布时间】:2012-11-01 11:21:32 【问题描述】:

我目前正在尝试为 Windows 7 32Bit 开发凭据提供程序。我目前正在使用 Eclipse CDT 来实现这一点。在安装 Windows SDK 并正确设置 CDT 后,我能够编译和链接必要的 dll(这很麻烦,而且我不是 100% 肯定它按预期工作,但至少他没有抛出错误)。当我现在尝试安装凭据提供程序时,它会抛出一个 msvcr90.dll 丢失错误。我通过在网上找到正确版本的 dll 来解决这个问题(请注意,它所需的 msvcr90.dll 版本未在任何可再发行版本中提供,因此无需指出它们,我已经经历过已经)。现在我安装了它并将 msvcr90.dll 复制到 system32 文件夹中,我开始收到 R6034 运行时错误(“...尝试加载 C 运行时库 incorecctly...”)。

直到现在都无法解决这个问题。我通过创建静态 dll 而不是共享 dll 来尝试另一种方式。当我尝试使用它时,所发生的只是凭据提供程序在系统启动期间甚至没有加载。

有没有人遇到过类似的问题或知道如何解决这个问题?我最后的手段是以某种方式获得 VS,但我现在想留在 CDT,因为我不确定这与问题有关。

为了记录,我目前只是想让标准 SampleCredentialProvider 教程工作。没有使用我自己编写的代码,所以这不应该是问题的原因。

编辑: 为了更新,我放弃了让 CDT 编译一个有效的凭据提供程序的承诺。因为我是一名学生,我正在为一篇论文做这个,所以我刚刚下载了 VS,它就像一个魅力,没有太多麻烦等。浪费时间去尝试让它工作而没有得到任何输出出了什么问题等等。如果有人愿意让它发挥作用,我将把这个问题留给讨论。现在我没有时间处理它。对于记录,用于链接的最重要的库是:advapi32.lib、ole32.lib、user32.lib、secur32.lib 和 shlwapi.lib(必须通过反复试验才能找到...)

【问题讨论】:

这是一项伟大的事业。请考虑在完成后发布您的 Eclipse 项目(至少是构建示例 CP 的项目) 我现在放弃了,因为尝试找出什么不起作用等似乎有点矫枉过正。主要问题似乎是 CDT 基本上不支持编译所需的所有功能凭据提供程序。 【参考方案1】:

你基本上有两种选择:

    安装Visual Studio 2008 runtime side by side,基本运行Vcredist_x86.exe。 使静态构建工作。

两个选项都有自己的pros and cons,但由于必须由管理员安装凭据提供程序,并且考虑到您已经遇到的麻烦,我会继续使用选项 1。

我不确定 vcredist 是否包含在平台 sdk 中。这是direct link。

【讨论】:

以上是关于使用 Eclipse CDT 创建凭据提供程序的主要内容,如果未能解决你的问题,请参考以下文章

如何在Ubuntu中使用Eclipse + CDT开发C/C++程序

如何在Ubuntu中使用Eclipse + CDT开发C/C++程序

如何在Ubuntu中使用Eclipse + CDT开发C/C++程序

Eclipse CDT 插件问题

使用 Eclipse Mars CDT 进行 JTag 调试:“程序文件不存在”

如何处理Eclipse CDT + Cygwin?