Форум программистов, компьютерный форум CyberForum.ru

включение динамической библиотеки. Ошибка:ссылка на неразрешенный символ - C++

Восстановить пароль Регистрация
 
kseniya_777
0 / 0 / 0
Регистрация: 18.11.2012
Сообщений: 28
14.09.2013, 17:10     включение динамической библиотеки. Ошибка:ссылка на неразрешенный символ #1
Создаю динамическую библиотеку, которая позволяла бы выводить на экран пути к системным каталогам. При подключении этой библиотеки выскакивают вот такие ошибки: Ошибка 1 error LNK2019: ссылка на неразрешенный внешний символ _WinMain@16 в функции ___tmainCRTStartup
Ошибка 2 error LNK1120: 1 неразрешенных внешних элементов
Подскажите, пожалуйста, что исправить нужно

Код заголовочного файла библиотеки с расширением .h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#pragma once
#if !defined(libDLL_h)
#define libDLL_h
 
#ifdef libDLL_EXPORTS
#define libDLL_API __declspec(dllexport)
#else
#define libDLL_API __declspec(dllimport);
#endif
 
#ifdef __cplusplus
extern "C" {
#endif
 
libDLL_API void PrintSysDirecories(const long csidl[], unsigned long nCount);
#ifdef __cplusplus
}
#endif
 
#endif
код библиотеки с расширением .срр
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <Windows.h>
#include <stdio.h>
#include <tchar.h>
#include <ShlObj.h>
#include "libDLL.h"
 
BOOL WINAPI DllMain(HINSTANCE hInstDLL, DWORD dwReason, LPVOID lpvReserved)
{
    return TRUE;
}
 
libDLL_API void PrintSysDerectories(const long csidl[], unsigned long nCount)
{
    TCHAR szBuffer[MAX_PATH+1];
 
    for (unsigned long i=0;i<nCount;++i)
    {
        HRESULT hr=SHGetFolderPath(NULL,csidl[i],NULL,SHGFP_TYPE_CURRENT,szBuffer);
        if (S_OK==hr)
            _tprintf(TEXT("%d:%s\n"),i+1,szBuffer);
    }
}
Код файла cpp проекта, к которому подключаю библиотеку:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <Windows.h>
#include <tchar.h>
#include <conio.h>
#include <locale.h>
#include <ShlObj.h>
 
typedef void (*PRINT_SYSDIRECTORIES_PROC)(const long csidl[], unsigned long nCount);
 
int _tmain()
{
    const long csidl[]={
        CSIDL_APPDATA,
        CSIDL_COMMON_APPDATA,
        CSIDL_LOCAL_APPDATA,
        CSIDL_PERSONAL,
        CSIDL_PROGRAM_FILES,
        CSIDL_PROGRAM_FILES_COMMON,
        CSIDL_SYSTEM,
        CSIDL_WINDOWS
    };
 
    _tsetlocale(LC_ALL,TEXT(""));
 
    HMODULE hDLL=LoadLibrary(TEXT("libDLL.dll"));
 
    if (NULL!=hDLL)
    {
        PRINT_SYSDIRECTORIES_PROC func=(PRINT_SYSDIRECTORIES_PROC)GetProcAddress(hDLL,"PrintSysDirectories");
        if (NULL!=func) 
            func(csidl,_countof(csidl));
        FreeLibrary(hDLL);
    }
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.09.2013, 17:10     включение динамической библиотеки. Ошибка:ссылка на неразрешенный символ
Посмотрите здесь:

C++ Ошибка - ссылка на неразрешенный внешний символ
Ошибка 1 error LNK2019: ссылка на неразрешенный внешний символ C++
C++ Ошибка линковки: ссылка на неразрешенный внешний символ
Ошибка error LNK2019: ссылка на неразрешенный внешний символ C++
Ошибка с библиотекой fltk (Ссылка на неразрешенный внешний символ) C++
C++ Ошибка компоновщика: ссылка на неразрешенный внешний символ
Ошибка: ссылка на неразрешенный внешний символ C++
C++ Ошибка LNK2019: ссылка на неразрешенный внешний символ

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 01:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru