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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ библеотека Boost.Date_time http://www.cyberforum.ru/cpp-beginners/thread954368.html
http://habrahabr.ru/post/66318/ мне бы воспользоваться ею, а как ее вызвать я ума не приложу :-| Добавлено через 3 минуты boost.org, дубина я, извиняюсь
C++ Вывод массива на экран Нужна помощь, нужно написать программу, в которую вводят число в десятичной системе, и программа преобразует его в двоичную форму, т.е. число делится на 2 и остаток должен записываться в массив, после этот массив нужно вывести. Код написал, но при выводе массива на экран, он состоит из рандомных чисел!!! #include <iostream> using namespace std; void dvoich(int a) { int i,n; int m = 10;... http://www.cyberforum.ru/cpp-beginners/thread954367.html
C++ написать блок схему
Найти наибольший элемент числового массива A = (a1, a2 , ..., aN ) и его номер.
C++ Определить бъют ли две фигуры на шахматной доске друг друга
Привет. Помогите пожалуйста. Даны координаты двух фигур на шахматной доске. Определить бьют ли они друг друга. Фигуры могут быть или двое ладьей, или двое офицеров, или двое королев, или двое коней. Т.е. две фигуры одинаковы. Про ладью все просто. Сделали с одным условием. А вот про остальные у меня что то с одним не получается. Был вариант для офицера: auto t = (x1-x2) / (y1 - y2); if ( t ==...
C++ Сортировка слиянием http://www.cyberforum.ru/cpp-beginners/thread954341.html
Нужно сделать счётчик который будет считать количество приравниваний в программе. Я что-то никак не могу сообразить( #include<stdio.h> #include<stdlib.h> #include<iostream.h> #include<conio.h> const int n=4; int main() { int i,j,l,R,p,h,q,t,m,x,res;
C++ Блок схему программы ввода 4 символьных переменных Составьте программу ввода 4 символьных переменных и определите сколько среди них цифр и выведите их на экран. Написать блок схему помогите! подробнее

Показать сообщение отдельно
kseniya_777
0 / 0 / 0
Регистрация: 18.11.2012
Сообщений: 28

включение динамической библиотеки. Ошибка:ссылка на неразрешенный символ - 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);
    }
}
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru