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

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

Войти
Регистрация
Восстановить пароль
 
Necronomicron
58 / 43 / 2
Регистрация: 09.11.2012
Сообщений: 219
#1

Ошибка при попытке подключить внешнюю библиотеку - C++

02.08.2013, 23:26. Просмотров 919. Ответов 8
Метки нет (Все метки)

Делал всё по инструкции, только пути другие. Пишет:

Ошибка 1 error LNK2019: ссылка на неразрешенный внешний символ __imp__createDevice в функции _main
Ошибка 2 error LNK1120: неразрешенных внешних элементов: 1
Гуглёж не помог. Когда-то вроде с glut вылезла такая же проблема, но я не помню, как решил. Пробовал подсовывать и 32-е, и 64-е либы. Пробовал по-всякому, всё одинаково. Ещё пробовал через #pragma comment, говорило, что не может открыть файл. И ещё я не понял, куда кидать dll. Когда-то кидал glut просто в папку SysWOW64 и работало, сейчас так не прокатило. По крайней мере ничего не изменилось.

Сам код на всякий случай:
C++
1
2
3
4
5
6
7
8
9
10
11
#include "irrlicht.h"
#include "driverChoice.h"
 
using namespace irr;
 
int main()
{
    IrrlichtDevice *device = createDevice();
 
    return 0;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.08.2013, 23:26
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибка при попытке подключить внешнюю библиотеку (C++):

Ошибка при попытке загрузки файла - C++
Задача состоит в том, чтобы по очереди загрузить файлы, введя их имена в консоль. #include <fstream> #include <iostream> using...

Ошибка при попытке удаления указателя - C++
Программа работает,но при попытке выйти из нее по условию,вылетает ошибка.Если закомментировать delete, то выходит без ошибок.Подскажите,...

Ошибка при попытке создания шаблона - C++
В чём ошибка? Функции Map::isGardenWithoutWallFlag, Map::setNothing, Map::incrementRoad, Map::setFlagWall имеют действительно такие...

Ошибка при попытке открытия файла - C++
Добрый день. При выполнении функции открытия файла F.open(adr,ios::in) по несуществующему адресу программу выбивает при этом появляется...

Ошибка при работе с библиотеку MySql - C++
Ошибка при когда не подключена библиотека: Picture1. А вот ошибка при подключенной библиотеки: Picture2. Хрен знает что уже делать....

Ошибка С2280 при попытке создания потока - C++
При попытке создания потока auto t = new thread(&merge, fin, fout, maxmemory, p) вылезает error C2280: предпринята попытка ссылки на...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
DU
1483 / 1059 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
02.08.2013, 23:38 #2
что-то в инструкции не указано, что нужно еще и irrlicht.lib прописать.
если на картинке это Компоновщик->Ввод->Дополнительные зависимости или хз как там правильно переводится (Additional Dependencies);
0
AntiAlianKiller
2 / 2 / 0
Регистрация: 08.05.2013
Сообщений: 14
03.08.2013, 00:03 #3
Была та же самая проблема, только вместо твоей библиотеки не работала <Winuser.h>. Решилось очень просто: надо было просто приписать комментарий,
C++
1
#pragma comment (lib, "user32.lib")
и все заработало. С WinSock, например, та же ситуация - без комментария и инициализации (некоторые библиотеки могут отказать в доступе и из-за этой проблемы тоже) не работает.
1
Necronomicron
58 / 43 / 2
Регистрация: 09.11.2012
Сообщений: 219
03.08.2013, 00:04  [ТС] #4
DU,
Нам так же нужно указать путь до файла irrlicht.lib, который находится в каталоге lib Win32-VisualStudio:
Для этого в дереве свойств пройти по пути: Свойства конфигурации > Компоновщик > Общие
Как я уже говорил, пробовал и через #pragma comment(lib, "путь").
Ложил файл рядом с main.cpp и пробовал через коммент, ничего.
0
DU
1483 / 1059 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
03.08.2013, 00:18 #5
это:
Компоновщик->Ввод->Дополнительные зависимости или хз как там правильно переводится (Additional Dependencies);
тоже самое что и:
Как я уже говорил, пробовал и через #pragma comment(lib, "путь").
Ложил файл рядом с main.cpp и пробовал через коммент, ничего.
?
1
alsav22
5420 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
03.08.2013, 00:26 #6
Necronomicron, путь к какой папке с либами указываете: Win64-visualStudio или Win32-visualstudio?

Добавлено через 4 минуты
Выбирайте под проект, а не под систему.
1
Necronomicron
58 / 43 / 2
Регистрация: 09.11.2012
Сообщений: 219
03.08.2013, 00:52  [ТС] #7
Раньше пробовал и 32, и 64 (я ж писал выше). Но видать что-то не так делал. В итоге заработало.
Всё же надо было 32 подключать.
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include "irrlicht.h"
#include "driverChoice.h"
#pragma comment(lib, "Irrlicht/lib/Win32-visualstudio/Irrlicht.lib")
 
using namespace irr;
 
int main()
{
    IrrlichtDevice *device = createDevice();
 
    return 0;
}
Ну и dll положил в папку Debug. Всем спасибо.
0
alsav22
5420 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
03.08.2013, 01:02 #8
Цитата Сообщение от Necronomicron Посмотреть сообщение
Всё же надо было 32 подключать.
Это если проект, в студии, собираете Win32. Если же x64, то и либу соответствующую подключать.
0
Necronomicron
58 / 43 / 2
Регистрация: 09.11.2012
Сообщений: 219
03.08.2013, 02:11  [ТС] #9
Нашёл, как сделать без pragma:
Свойства проекта -> Компоновщик -> Ввод -> Дополнительные зависимости.

И только сейчас увидел, что DU это уже писал.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.08.2013, 02:11
Привет! Вот еще темы с ответами:

Ошибка при записи в файл через библиотеку io.h - C++
Приветствую всех! Пишу программу, в которой необходимо записывать информацию в файл. Для этого использовал функцию _write из библиотеки...

Возникает неизвестная ошибка при попытке скомпилировать программу - C++
#include &lt;iostream&gt; #include &lt;iomanip&gt; #include &lt;math.h&gt; #include &lt;conio.h&gt; #define LIM 5.5 using namespace std; int...

Работа с динамического массивом - ошибка при попытке ввода - C++
При простой попытке ввода выскакивает ошибка, что кириллица, что английский - ответ один и тот же. Что я упустил? #include &lt;vcl.h&gt; ...

Выскакивает ошибка при попытке запуска построенного проекта - C++
проблема в том,что начал писать,компилировать-компилирует,а вот с запуском какие-то проблему,постоянно выбивает ошибку с текстом:...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
03.08.2013, 02:11
Ответ Создать тему
Опции темы

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