使用MinGW编译凭据提供程序

4
我从Microsoft找到了一些示例,但不确定如何入手。
我有一个看起来是VS项目和一个包含注册表条目的文件。没有包括makefile,也没有真正的构建说明。
我正在尝试使用带MinGW的G++编译器。用例很简单,即http身份验证。我已经在Linux上使用我的pam-http项目使其工作。
- 如何编译一个简单的凭据提供程序? - 是否有任何教程提供构建脚本/ makefiles?
我非常希望在可能的情况下使用FOSS,因此选择了MinGW和g ++,而且我在Windows上编译方面经验很少(几年前在一家公司中使用过VS)。最终我想链接cURL,但是一旦我构建出东西就可以解决这个问题。
注意:
我找到了这些内容,但我正在寻找使用g ++的构建脚本:

我分享kberson的观点

编辑:

我在MinGW网站上找到了this,它说可以链接到MS VC创建的DLL。

我不想使用Visual Studio。我更喜欢命令行编译工具,它没有绑定到特定的构建工具(如ANT或make)。


如果你要编写的API/DLL是C++,那么很可能无法使用G++来使其工作。G++和VC没有共同的ABI。 - Mat
@Mat 我不100%需要使用MinGW/G++,但我更愿意使用它而不是VC。如果我绝对必须使用VC,那么我可以使用它。据我所知,我可以针对我需要的任何DLL进行编译。你知道用g++编译的DLL能否被VC链接吗? - beatgammit
我注意到这个问题没有得到太多关注。我能做些什么来澄清问题吗?还是这个问题太不常见了,没有人知道如何解决它? - beatgammit
1个回答

4
编译示例凭据提供程序将更容易,如果您使用Visual Studio Express C++(然后移植到G++)。您可能还需要安装Windowns SDK
MSVC++附带命令行构建工具。因此,要构建Windows 7自定义凭据提供程序,首先将文件提取到目录中。然后安装MSVC——使用开始菜单上的快捷方式Visual Studio Command Prompt(2010)打开命令提示符并键入。
cd CredentialProviders\SampleCredentialProvider
msbuild

或者构建 Win32 发行配置
msbuild /p:Configuration=Release /p:Platform=Win32

请参考MSBuild (Visual C++) OverviewMSBuild Command Line ReferenceBuilding on the Command Line。这些凭据提供程序是使用COM构建的-OLE2的一部分-这是Microsoft Component Object Model。可以构建互操作组件而不使用MSVC,但需要更多的工作。因此,为了开始开发,我会使用MSVC,因为所有示例都可以直接使用,然后再将其移植到G++中,因为可能会出现问题,并且从工作系统开始通常更容易,因为它排除了COM绑定中的问题。要了解COM,建议阅读Technical foundation of COM

这实际上非常有帮助。虽然它没有直接回答问题,但它确实给了我一个开始的地方。如果在接下来的几天里没有更好的答案,我会确保将奖励授予这个答案。 - beatgammit
由于在你提问后没有其他人提供任何帮助,我认为尽管我的回答并不能直接解决问题,但可以为你找到解决方案的一条路径。此外,如果不使用MSVC支持,构建一个可互操作的COM组件是相当棘手的;虽然我非常相信自由开源软件,但在这种情况下,额外的工作量是相当大的。 - Richard Harrison
凭据提供程序是我正在构建的软件包中唯一依赖于平台的部分,因此如果可能的话,我想坚持使用相同的编译器(g++)。Windows支持仅用于兼容性... - beatgammit
我一直在尝试使用g++(mingw)构建示例,但无法编译通过。不得不添加SDK - 这很困难 - 但仍然存在问题。如果我成功让任何东西工作,我会发布更新的。 - Richard Harrison

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接