I found some examples from Microsoft, but I’m not sure how to get started.
I have what appears to be a VS project and a file with Registry entries. There are no makefiles included and not really any instructions on how to build.
I am trying to use the G++ compiler with MinGW. The use case is simple http authentication. I have this working on Linux with my pam-http project.
- How do I go about compiling a simple Credential Provider?
- Are there any tutorials that give build scripts/makefiles?
I would very much prefer to use FOSS where possible, hence MinGW and g++, and I have little experience with compiling on Windows (I used VS at a job several years ago). Ultimately I’d like to link in cURL, but I can figure that out once I get something built.
Note:
I found these, but I’m looking for build scripts using g++:
- Building a custom credential provider for Windows 7
- http://msdn.microsoft.com/en-us/magazine/cc163489.aspx
I share kberson’s sentiments.
EDIT:
I found this on MinGW’s website that says linking against MS VC created DLLs is possible.
I do not want to use Visual Studio. I’d prefer a command-line compile tool that isn’t tied down to a specific build tool (like ANT or make).
To compile the example credential providers will be considerably easier if you use Visual Studio Express C++ (and then port to G++). You may also need to install the Windowns SDK
MSVC++ comes with command line building tools. So to build the custom credential provider for Windows 7 firstly extract the files into a directory. Then Install MSVC – use the shortcut on the start menu Visual Studio Command Prompt (2010) to open a command prompt and type
or to build the release configuration Win32
Refer to MSBuild (Visual C++) Overview, MSBuild Command Line Reference and Building on the Command Line
These credential providers are built using COM – part of OLE2 – which is the Microsoft Component Object Model. It is possible to build interoperable components without using MSVC but more work. So to get started I’d develop using MSVC simply because all of the examples will work out of the box and then I’d port across to G++ as there will be issues and it is usually easier to start from a working system as it rules out problems in the COM bindings.
To understand COM it helps to read the Technical foundation of COM.