Скомпилировать DLL библиотеку в VS - C (СИ)
Формулировка задачи:
Хочу получить edrlib.dll и edrlib.lib. Для того чтобы откомпилировать библиотеку я создал в VS 6.0 новый пустой проект (динамически подключаемая библиотека) и подключил файлы edrlib.h и edrlib.c.
edrlib.h
edrlib.c
Когда пытаюсь скомпилировать получаю ну очень информативные ошибки:
те ругается оно на заголовок и реализацию моей функции EdrCenterText. Что это за странное описание ошибки от vs и как от неё избавиться (от ошибки, не от vs) ?
#define EXPORT extern "C" __declspec(dllexport) EXPORT BOOL CALLBACK EdrCenterText (HDC, PRECT, PSTR);
#include <windows.h.> #include <string.h> #include "edrlib.h" int WINAPI DllMain(HINSTANCE hInstance, DWORD fdwReason, PVOID pvReserved) { return TRUE; } EXPORT BOOL CALLBACK EdrCenterText(HDC hdc, PRECT prc, PSTR pString) { int iLength; SIZE size; iLength=strlen(pString); GetTextExtentPoint32(hdc, pString, iLength, &size); return TextOut(hdc, (prc->right - prc->left - size.cx)/2, (prc->bottom - prc->top - size.cy)/2, pString, iLength); }
--------------------Configuration: Lib - Win32 Debug-------------------- Compiling... edrlib.c c:\c++\vs projects\lib\edrlib.h(3) : error C2059: syntax error : 'string' c:\c++\vs projects\lib\edrlib.c(10) : error C2059: syntax error : 'string' Error executing cl.exe. Lib.dll - 2 error(s), 0 warning(s)
Решение задачи: «Скомпилировать DLL библиотеку в VS»
textual
Листинг программы
// GpearDLL.cpp : Defines the entry point for the DLL application. // #include "stdafx.h" #include <string.h> #ifdef __cplusplus #define EXPORT extern "C" __declspec (dllexport) #else #define EXPORT __declspec (dllexport) #endif //ввести BOOL APIENTRY DllMain( HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved ) { return TRUE; } EXPORT BOOL CALLBACK EdrCenterText(HDC hdc, PRECT prc, PSTR pString) { int iLength; SIZE size; iLength=strlen(pString); GetTextExtentPoint32(hdc, pString, iLength, &size); return TextOut(hdc, (prc->right - prc->left - size.cx)/2, (prc->bottom - prc->top - size.cy)/2, pString, iLength); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д