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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.60
Psilon
Master of Orion
Эксперт .NET
5850 / 4747 / 628
Регистрация: 10.07.2011
Сообщений: 14,296
Записей в блоге: 5
Завершенные тесты: 4
#1

Ошибка линковщика LNK2019: ссылка на неразрешенный внешний символ - C++

23.07.2013, 02:39. Просмотров 1451. Ответов 24
Метки нет (Все метки)

полный текст:
Ошибка 1 error LNK2019: ссылка на неразрешенный внешний символ _WTSSendMessageA@40 в функции _main D:\Projects\ConsoleApplication91\ConsoleApplication91\Main.obj ConsoleApplication91
немного погуглив нашел, что эта проблема зачастую из-за проблем с хедерми и т.д., но у меня всего 1 файл в проекте (main.cpp) и ни одного хедера (тупо создал пустой проект и добавил его). Пишу код следующего вида:
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 <stdlib.h>
#include <stdio.h>
#include "wtsapi32.h"
 
 
int main()
{
    char* title = "Hello";
    int tlen = strlen(title);
    char* msg = "Terminal Service!";
    int mlen = strlen(msg);
    DWORD *resp = (DWORD*)malloc(sizeof(DWORD*));
    HANDLE hServer = WTS_CURRENT_SERVER_HANDLE;//WTSOpenServer(L"MICROSOFT-PC");//
    const int session = WTS_CURRENT_SESSION;
    
    int result = WTSSendMessage(hServer, session, title, tlen, msg, mlen, 0, 0, resp, 0);
    printf("%i", result);
    getchar();
 
    return 0;
}
то есть в дальнейшем собираюсь подрубаться к удаленному компу (в одной локалке сидим). Но выдает такую ошибку. Больше файлов в проекте, повторюсь, нету.

Юникод, как видно, отключил - не помогло, вместо blablaB стал ругаться на blablaA
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.07.2013, 02:39     Ошибка линковщика LNK2019: ссылка на неразрешенный внешний символ
Посмотрите здесь:
C++ Структуры/Работа с файлами(ошибка линковщика error LNK2019: ссылка на неразрешенный внешний символ)
Ошибка линковщика(error LNK2019: ссылка на неразрешенный внешний символ _main в функции ___tmainCRTStartup) C++
C++ Ошибка LNK2019 | Ссылка на неразрешенный внешний символ
C++ Ошибка LNK2019: ссылка на неразрешенный внешний символ
Ошибка LNK2019 ссылка на неразрешенный внешний символ C++
C++ Ошибка LNK2019: ссылка на неразрешенный внешний символ
C++ Ошибка LNK2019 ссылка на неразрешенный внешний символ
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
gray_fox
What a waste!
1411 / 1140 / 55
Регистрация: 21.04.2012
Сообщений: 2,362
Завершенные тесты: 3
23.07.2013, 02:41     Ошибка линковщика LNK2019: ссылка на неразрешенный внешний символ #2
Psilon, надо компоновать с библиотекой, в которой есть реализация этой ф-ии.
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
23.07.2013, 02:42     Ошибка линковщика LNK2019: ссылка на неразрешенный внешний символ #3
Линковщик не нашёл реализацию WTSSendMessage().
gray_fox
What a waste!
1411 / 1140 / 55
Регистрация: 21.04.2012
Сообщений: 2,362
Завершенные тесты: 3
23.07.2013, 02:47     Ошибка линковщика LNK2019: ссылка на неразрешенный внешний символ #4
Psilon, http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx
В Requirements:
Header Wtsapi32.h
Library Wtsapi32.lib
DLL Wtsapi32.dll
Psilon
Master of Orion
Эксперт .NET
5850 / 4747 / 628
Регистрация: 10.07.2011
Сообщений: 14,296
Записей в блоге: 5
Завершенные тесты: 4
23.07.2013, 02:53  [ТС]     Ошибка линковщика LNK2019: ссылка на неразрешенный внешний символ #5
gray_fox, хм, он подхватил хедер, я почему-то привык, что раз есть функция, значит и реализация есть
Спасибо, щас буду пробовать добавить в проект.

Добавлено через 1 минуту

Не по теме:

Извиняюсь за глупый вопрос, как либу подрубить - тупо закинуть в debug?

alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
23.07.2013, 02:55     Ошибка линковщика LNK2019: ссылка на неразрешенный внешний символ #6
Цитата Сообщение от Psilon Посмотреть сообщение
он подхватил хедер
Компилятору достаточно прототипа, линковщику нужна реализация.
gray_fox
What a waste!
1411 / 1140 / 55
Регистрация: 21.04.2012
Сообщений: 2,362
Завершенные тесты: 3
23.07.2013, 02:55     Ошибка линковщика LNK2019: ссылка на неразрешенный внешний символ #7
Psilon, не надо никуда кидать, смотри в настройках проекта...
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
23.07.2013, 02:55     Ошибка линковщика LNK2019: ссылка на неразрешенный внешний символ #8
Цитата Сообщение от Psilon Посмотреть сообщение
Извиняюсь за глупый вопрос, как либу подрубить - тупо закинуть в debug?
Среда какая?
Psilon
Master of Orion
Эксперт .NET
5850 / 4747 / 628
Регистрация: 10.07.2011
Сообщений: 14,296
Записей в блоге: 5
Завершенные тесты: 4
23.07.2013, 02:57  [ТС]     Ошибка линковщика LNK2019: ссылка на неразрешенный внешний символ #9
alsav22, уже нашел - Visual Studio, в настройках проекта в настройках линковщика пункт "доп. каталоги библиотек". Выбрал нужную папку, но ему пофигу.
gray_fox
What a waste!
1411 / 1140 / 55
Регистрация: 21.04.2012
Сообщений: 2,362
Завершенные тесты: 3
23.07.2013, 02:58     Ошибка линковщика LNK2019: ссылка на неразрешенный внешний символ #10
Psilon, а саму библиотеку добавить в зависимости?
Psilon
Master of Orion
Эксперт .NET
5850 / 4747 / 628
Регистрация: 10.07.2011
Сообщений: 14,296
Записей в блоге: 5
Завершенные тесты: 4
23.07.2013, 03:03  [ТС]     Ошибка линковщика LNK2019: ссылка на неразрешенный внешний символ #11
gray_fox, ну в проекте во вкладке "внешние зависимости" он есть (в смысле хедер)... dll-ку я в папку кинул и ему её указал. Чего ему еще надо?

Добавлено через 1 минуту

Не по теме:

Эх, эт тебе не решарпер, он тебе сам подскажет имя класса, сам тебе для него dll-ку найдет, сам и подключит, и в проекте пропишет... Эх, прогресс, однако Развращает

gray_fox
What a waste!
1411 / 1140 / 55
Регистрация: 21.04.2012
Сообщений: 2,362
Завершенные тесты: 3
23.07.2013, 03:09     Ошибка линковщика LNK2019: ссылка на неразрешенный внешний символ #12
Открыл таки студию...
Миниатюры
Ошибка линковщика LNK2019: ссылка на неразрешенный внешний символ  
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
23.07.2013, 03:10     Ошибка линковщика LNK2019: ссылка на неразрешенный внешний символ #13
В свойствах проекта - Компоновщик - Ввод - Дополнительные зависимости, прописать библиотеку.
gray_fox
What a waste!
1411 / 1140 / 55
Регистрация: 21.04.2012
Сообщений: 2,362
Завершенные тесты: 3
23.07.2013, 03:10     Ошибка линковщика LNK2019: ссылка на неразрешенный внешний символ #14
Цитата Сообщение от Psilon Посмотреть сообщение
dll-ку я в папку кинул и ему её указал
Это ни к чему
Psilon
Master of Orion
Эксперт .NET
5850 / 4747 / 628
Регистрация: 10.07.2011
Сообщений: 14,296
Записей в блоге: 5
Завершенные тесты: 4
23.07.2013, 03:13  [ТС]     Ошибка линковщика LNK2019: ссылка на неразрешенный внешний символ #15
Ясн, спасибо.

Как все сложно оказыватеся. Привык уже Right click -> Add reference. А то и просто NuGet
alsav22
23.07.2013, 03:19
  #16

Не по теме:

Цитата Сообщение от Psilon Посмотреть сообщение
Привык уже Right click -> Add reference. А то и просто NuGet
Это где так?

gray_fox
23.07.2013, 03:22
  #17

Не по теме:

Цитата Сообщение от Psilon Посмотреть сообщение
Как все сложно оказыватеся.
Да нет, не сложно, просто это не шарп)
Цитата Сообщение от alsav22 Посмотреть сообщение
Это где так?
В Решарпере наверное...

Psilon
Master of Orion
Эксперт .NET
5850 / 4747 / 628
Регистрация: 10.07.2011
Сообщений: 14,296
Записей в блоге: 5
Завершенные тесты: 4
23.07.2013, 03:24  [ТС]     Ошибка линковщика LNK2019: ссылка на неразрешенный внешний символ #18
Вопрос все по тому же коду: когда ввожу локальный адрес своего компа - работает. Стоит ввести другой - выдает ошибку 87. нагуглить не получилось, что она значит. Итоговый код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <windows.h>
#include <stdlib.h>
#include <stdio.h>
#include "wtsapi32.h"
 
 
int main()
{
    char* title = "Hello";
    int tlen = strlen(title);
    char* msg = "Terminal Service!";
    int mlen = strlen(msg);
    DWORD *resp = (DWORD*)malloc(sizeof(DWORD*));
    HANDLE hServer = WTSOpenServer("MICROSOFT-PC");
    const int session = WTS_CURRENT_SESSION;
    
    int result = WTSSendMessage(hServer, session, title, tlen, msg, mlen, 0, 0, resp, 0);
    int error = GetLastError();
    printf("%i %i %i", result, error, *resp);
    getchar();
 
    return 0;
}
Хотя комп указал правильно:
Миниатюры
Ошибка линковщика LNK2019: ссылка на неразрешенный внешний символ  
Psilon
23.07.2013, 03:27  [ТС]
  #19

Не по теме:

gray_fox, да не, в стандартной студии это доступно. В решпрере все намного прикольнее - пишешь что-нибудь вроде wtsos (по заглваным буквам WTSOpenServer), он тебе говорит

Ошибка линковщика LNK2019: ссылка на неразрешенный внешний символ

остается только выбрать нужный файлик или создать новый... В общем - халява, ведь все это он определил по одному слову - имени класса, который я собираюсь использовать. В восьмой версии его можно даже не дописывать - а она вышла неделю назад, пока не соизволил купить

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.07.2013, 03:29     Ошибка линковщика LNK2019: ссылка на неразрешенный внешний символ
Еще ссылки по теме:
C++ Ошибка LNK2019 - ссылка на неразрешенный внешний символ
C++ Ошибка error LNK2019: ссылка на неразрешенный внешний символ
Ошибка error LNK2019: ссылка на неразрешенный внешний символ C++
C++ Ошибка: error LNK2019: ссылка на неразрешенный внешний символ...
C++ Ошибка LNK2019: ссылка на неразрешенный внешний символ _WinMain@16

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

Или воспользуйтесь поиском по форуму:
gray_fox
What a waste!
1411 / 1140 / 55
Регистрация: 21.04.2012
Сообщений: 2,362
Завершенные тесты: 3
23.07.2013, 03:29     Ошибка линковщика LNK2019: ссылка на неразрешенный внешний символ #20
Цитата Сообщение от Psilon Посмотреть сообщение
Стоит ввести другой - выдает ошибку 87. нагуглить не получилось
Издеваешся?)
http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx
ERROR_INVALID_PARAMETER

87 (0x57)

The parameter is incorrect.
Yandex
Объявления
23.07.2013, 03:29     Ошибка линковщика LNK2019: ссылка на неразрешенный внешний символ
Ответ Создать тему
Опции темы

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