Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.03.2012, 12:39   #1
agronomchek
Пользователь
 
Регистрация: 24.08.2010
Сообщений: 19
По умолчанию ошибка линкера: indefined reference to 'EnumPrintersW@28'

Доброго времени суток!

Не могу понять из-за чего выскакивает эта ошибка, ведь я подключил стандартные заголовочные файлы, содержащие эту функцию: windows.h, winspool.h.

Как думаете, с чем может быть связана эта ошибка?

Это простенькая программа, на которой я изучаю WinAPI и инструменты для работы с принтерами и очередью печати. Должна выводить информацию о всех принтерах, подключенных к компьютеру.


Код:
#include <iostream>
#include <windows.h>
#include <winspool.h>

using namespace std;

int main()
{
    DWORD cByteNeeded, nReturned, soStr;
    BYTE str[300];
    soStr = sizeof(str);
    EnumPrinters(PRINTER_ENUM_LOCAL, NULL,4,str,soStr,&cByteNeeded,&nReturned);
    cout << str << endl;
    return 0;
}
agronomchek вне форума Ответить с цитированием
Старый 04.03.2012, 12:51   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

а библиотеки то все подключили?
(нужна Winspool.lib)

Цитата:
ведь я подключил стандартные заголовочные файлы, содержащие эту функцию
они содержат её обьявлнение, не более.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 04.03.2012, 13:04   #3
agronomchek
Пользователь
 
Регистрация: 24.08.2010
Сообщений: 19
По умолчанию

честно говоря, я ни разу не подключал библиотеки.. не подскажете как это сделать? Пишу в Qt.

Последний раз редактировалось agronomchek; 04.03.2012 в 13:09.
agronomchek вне форума Ответить с цитированием
Старый 04.03.2012, 13:07   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

зависит от того где вы работаете.(IDE, компиль)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 04.03.2012, 13:15   #5
agronomchek
Пользователь
 
Регистрация: 24.08.2010
Сообщений: 19
По умолчанию

не успел добавить. Работаю в Qt.
agronomchek вне форума Ответить с цитированием
Старый 04.03.2012, 16:38   #6
agronomchek
Пользователь
 
Регистрация: 24.08.2010
Сообщений: 19
По умолчанию

А где вообще может лежать winspool.lib? А то в Qt, при добавлении системной библиотеки, он просит указать путь к LIB-файлу. А я нашел только библиотеку winspool.drv.. может можно как-то её подключить и линкер перестанет ругаться?
agronomchek вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка линкера: error LNK2001: unresolved external symbol _WinMain@16 krugolet Visual C++ 4 02.01.2012 23:03
Ошибка при подключении к базе данных Object reference not set to an instance of an object. lowercase ASP.NET 1 20.11.2011 22:48
Ошибка "Circular unit reference to". Вадим Буренков Общие вопросы Delphi 4 05.07.2009 12:04
Опция линкера /NODEFAULTLIB kot111 Общие вопросы .NET 9 30.12.2007 18:22