Полагаю нужно что-то прописать в файле проекта, но что кокретно так и не понял.
Например, как заставить в QtCreator скомпилиться и запуститься простенькому консольному приложению взятому из MSDN, использующего CryptoAPI.
Примерчик просто выводит список доступных криптопровайдеров на консоль. Проверил его в VisualStudio - все рабоате, в QtCreator бился с LIBS += ..., но так и не победил.
Нужно под MinGW. Выдает ошибку E:\PROG\Qt\untitled1\main.c:-1: ошибка: undefined reference to `CryptEnumProviders'
Вызовы к функция CryptoAPI в дальнейшем планируется использовать в программе написанной с ипользованием библиотеки Qt.
#include <stdio.h>
#include <windows.h>
#include <Wincrypt.h>
void main()
{
//---------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
// Declare and initialize variables.
DWORD cbName;
DWORD dwType;
DWORD dwIndex;
CHAR *pszName = NULL;
// Print header lines for providers.
printf("Listing Available Providers:\n");
printf("Provider type\tProvider Name\n");
printf("_____________\t__________________"
"___________________\n");
//---------------------------------------------------------------
// Loop through enumerating providers.
dwIndex = 0;
while(CryptEnumProviders(
dwIndex,
NULL,
0,
&dwType,
NULL,
&cbName
))
{
//-----------------------------------------------------------
// cbName returns the length of the name of the next
// provider. Allocate memory in a buffer to retrieve
// that name.
if (!(pszName = (LPTSTR)LocalAlloc(LMEM_ZEROINIT, cbName)))
{
printf("ERROR - LocalAlloc failed\n");
exit(1);
}
//-----------------------------------------------------------
// Get the provider name.
if (CryptEnumProviders(
dwIndex++,
NULL,
0,
&dwType,
pszName,
&cbName
))
{
printf (" %4.0d\t%s\n",dwType, pszName);
}
else
{
printf("ERROR - CryptEnumProviders failed.\n");
exit(1);
}
LocalFree(pszName);
} // End of while loop
printf("\nProvider types and provider names "
"have been listed.\n");
}