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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
kseniya_777
0 / 0 / 0
Регистрация: 18.11.2012
Сообщений: 28
#1

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

14.09.2013, 17:10. Просмотров 206. Ответов 0
Метки нет (Все метки)

Создаю динамическую библиотеку, которая позволяла бы выводить на экран пути к системным каталогам. При подключении этой библиотеки выскакивают вот такие ошибки: Ошибка 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);
    }
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.09.2013, 17:10
Здравствуйте! Я подобрал для вас темы с ответами на вопрос включение динамической библиотеки. Ошибка:ссылка на неразрешенный символ (C++):

Ошибка: ссылка на неразрешенный внешний символ - C++
Уже час сижу не могу понять в чём дело. Получаю такие ошибки при компиляции: Файл интерфейса класса mystack.h: ...

Ошибка: ссылка на неразрешенный внешний символ - C++
Вообщем решил я тут скачать чужой код змейки(посмотреть что да как там), вроде подключил все библиотеки opengl. Но вот не задача,...

Ошибка - ссылка на неразрешенный внешний символ - C++
Написал две программы подряд. В них выскакивает одна и та же ошибка 1&gt;------ Построение начато: проект: 4, Конфигурация: Debug Win32...

Ошибка. Ссылка на неразрешенный внешний символ - C++
Здравствуйте. Ошибка такая: LNK2019 ссылка на неразрешенный внешний символ _main в функции &quot;int __cdecl invoke_main(void)&quot;...

Ошибка LNK2019 ссылка на неразрешенный внешний символ - C++
Переделывала целочисленнный Список в шаблон + добавила итераторы. но выходят эти ошибки,пофиксить не получается Ошибка LNK2019 ссылка...

Ошибка LNK2019 ссылка на неразрешенный внешний символ - C++
В заголовочном файле объявлен класс class cLogReader { public: cLogReader(int i) { }; ~cLogReader();

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.09.2013, 17:10
Привет! Вот еще темы с ответами:

Ошибка: ссылка на неразрешенный внешний символ void - C++
помогите найти причину этой ошибки: #include &lt;windows.h&gt; #include&lt;stdio.h&gt; #include&lt;conio.h&gt; #include&lt;locale.h&gt; #include&lt;math.h&gt; ...

Ошибка LNK2019 - ссылка на неразрешенный внешний символ - C++
Доброго времени суток. При запуске выдается следующую ошибку: LNK2019 ссылка на неразрешенный внешний символ &quot;double __cdecl...

Ошибка LNK2019: ссылка на неразрешенный внешний символ - C++
Уже который день не могу разобраться с этой проблемой! У меня есть класс Agent, с данными name, age и experience. Для того, чтобы...

Ошибка линковки: ссылка на неразрешенный внешний символ - C++
Всем привет. подскажите пожалуйста, в чём ошибка: error LNK2019: ссылка на неразрешенный внешний символ &quot;class...


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru