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

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

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

инициализация SDL - C++

07.06.2013, 11:32. Просмотров 1077. Ответов 7
Метки нет (Все метки)

подключил
C++
1
#include "SDL.h"
- проверил, запустилось.
добавил первую строку из статьи про работу сдл
C++
1
SDL_Init(SDL_INIT_VIDEO);
вылетает ошибка линковщика

error LNK2028: unresolved token (0A000647) "extern "C" int __cdecl SDL_Init(unsigned int)" (?SDL_Init@@$$J0YAHI@Z) referenced in function "private: void __clrcall new_visual::Form1::trackBarGain_Scroll(class System::Object ^,class System::EventArgs ^)"
и

error LNK2019: unresolved external symbol "extern "C" int __cdecl SDL_Init(unsigned int)" (?SDL_Init@@$$J0YAHI@Z) referenced in function "private: void __clrcall new_visual::Form1::trackBarGain_Scroll(class System::Object ^,class System::EventArgs ^)"

пишу на с++/cli. но эт вроде не важно.
попробовал создать пустое консольное приложение
error LNK2019: unresolved external symbol _SDL_Init referenced in function
что я не сделал? или не так сделал?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.06.2013, 11:32
Здравствуйте! Я подобрал для вас темы с ответами на вопрос инициализация SDL (C++):

Как вывести текст на экран, используя библиотеку SDL TTF для SDL 2? - C++
В официальной доке как-то скомкано написано. При инициализации SDL TTF и при загрузке шрифта ошибок нет. Но текст на экране не...

C++ SDL - C++
Всем привет! Работал я значи в SDL, а потом что-то нажалось ил не нажалось и вообщем теперь, при компиляции любого(работающего,...

SDL mouse - C++
если обработка нажатия на левую кнопку мыши это if (occur.type == SDL_MOUSEBUTTONDOWN) if(occur.button.button == SDL_BUTTON_LEFT)...

Документация по SDL - C++
Люди , кто знает пожалуйста киньте ссылки на документацию по SDL =) Заранее спс!

Установка SDL 2 - C++
Из-за некоторых проблем с обработкой клавиатуры решил перейти с GLUT на SDL 2. Вопрос: как на Ubuntu установить этот самый SDL 2? ...

Странность С++ и SDL - C++
Здравствуйте уважаемые форумчане возникла непонятная ситуация вообщем писал на С++ классы и учил OpenGL и все вроде нормально как вдруг...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
anmartex
...
1705 / 1198 / 496
Регистрация: 12.02.2013
Сообщений: 1,978
07.06.2013, 14:10 #2
hamster28, а вы в свойствах проекта сборщику укажите библиотеку и будет вам счастье.
1
hamster28
0 / 0 / 0
Регистрация: 25.07.2012
Сообщений: 41
07.06.2013, 16:35  [ТС] #3
anmartex, сорри, а что это за свойство?? в компановщике?

Добавлено через 29 минут
в Additional Dependencies дописал sdl2.lib
но ничего не произошло.. видимо не туда
0
anmartex
...
1705 / 1198 / 496
Регистрация: 12.02.2013
Сообщений: 1,978
07.06.2013, 16:43 #4
Загляните сюда, здесь всё расписано.

Добавлено через 1 минуту
Цитата Сообщение от hamster28 Посмотреть сообщение
в Additional Dependencies дописал sdl2.lib
Там же вроде SDL.lib и SDLmain.lib должны быть?

Добавлено через 1 минуту
Хотя да, если вы вторую версию используете, то тогда всё верно. Ещё загляните сюда.
0
hamster28
0 / 0 / 0
Регистрация: 25.07.2012
Сообщений: 41
10.06.2013, 15:09  [ТС] #5
anmartex,
спасибо за ссылки, помогли
но вот другая затырка...
если не менять в свойствах c/c++ / cj\ommon language runtime support (там прописано clr:: pure)
то вылезает ошибка
error C3389: __declspec(dllexport) cannot be used with /clr: pure or /clr:safe
если поменять на просто clr
то выйдет
error LNK2022: metadata operation failed (8013118D) : Несовместимые сведения о макетах в повторяющихся типах (std.basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >): (0x02000063).
что с этим делать?
0
hamster28
0 / 0 / 0
Регистрация: 25.07.2012
Сообщений: 41
11.06.2013, 15:49  [ТС] #6
anmartex,
блин, все проделал сначала, в предыдущем варианте допустил какую-то ошибку и пошел по ложному пути..
библиотека подключена, но при вызове
C++
1
 SDL_Init( SDL_INIT_EVERYTHING );
вновь выпадают ошибки
error LNK2028: unresolved token (0A000643) "extern "C" int __cdecl SDL_Init(unsigned int)" (?SDL_Init@@$$J0YAHI@Z) referenced in function "int __clrcall SDL_main(cli::array<class System::String ^ >^)" (?SDL_main@@$$FYMHP$01AP$AAVString@System@@@Z)
и
error LNK2019: unresolved external symbol "extern "C" int __cdecl SDL_Init(unsigned int)" (?SDL_Init@@$$J0YAHI@Z) referenced in function "int __clrcall SDL_main(cli::array<class System::String ^ >^)" (?SDL_main@@$$FYMHP$01AP$AAVString@System@@@Z)
все подключено, как на сайтах, что вы скинули.
0
anmartex
...
1705 / 1198 / 496
Регистрация: 12.02.2013
Сообщений: 1,978
11.06.2013, 19:05 #7
hamster28, проблема в линковке - это факт. Но вот последняя и единственная студия в которой я работал - это Visual Studio 6.0. У меня и Windows-то только на работе. Поэтому более детально исследовать вашу проблему не имею возможности.

C
1
2
3
4
5
6
7
8
9
10
#include <SDL/SDL.h>
 
int main()
{
   SDL_Init(SDL_INIT_VIDEO);
 
   SDL_Quit();
 
   return 0;
}
инициализация SDL

Видите, в первом случае линковщик тоже ругается, но после того как я подключаю библиотеку сборка проходит успешно.
0
hamster28
0 / 0 / 0
Регистрация: 25.07.2012
Сообщений: 41
10.07.2013, 10:38  [ТС] #8
anmartex, поморочался на винде, подключил
теперь перешел на линукс, решил вновь обратиться к твоей помощи.

вставил в файл .pro
C++
1
2
LIBS += -L /usr/tmp/sdl/x86_64/lib64 -lSDL -lSDLmain
INCLUDEPATH += /usr/include/sdl64/SDL
создал мейн
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <sdl64/SDL/SDL.h>
 
#undef main
 
SDL_Surface * screen;
 
int main(int argc, char ** argv)
{
    if (SDL_Init(SDL_INIT_EVERYTHING) == -1)
        return 1;
    screen = SDL_SetVideoMode(640,480,32,SDL_SWSURFACE);
    if (screen == NULL)
        return 1;
 
    SDL_Quit();
 
    return 0;
}
а мне вылезают ошибки
In function `SDL_SYS_CreateThread': undefined reference to `pthread_create'

Добавлено через 18 минут
добавил еще
-lpthread
стало меньше ошибок

In function `SDL_LoadObject': undefined reference to `dlopen'
In function `SDL_LoadFunction': undefined reference to `dlsym'

Добавлено через 7 минут
все, решено
еще нужно было добавить
-ldl
хотя я не понял, что это за либы последние я подключил....
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.07.2013, 10:38
Привет! Вот еще темы с ответами:

Оптимизация SDL - C++
Начал изучать SDL. Все бы хорошо, но процесс созданного окна кушает 25% ресурсов процессора. Когда делал по этим урокам:...

Sdl 2.0 Dev-cpp - C++
Под спойлером лог компилятора, по сути не может найти winapifamily.h, где его брать, куда пихать итд, сдл поставил полностью ...

Распространение игр на SDL - C++
Всем доброго времени суток. В университет в качестве курсовой работы нужно написать игру. Впервые работаю с графикой (до этого все...

Подключение SDL.h к проекту - C++
Доброго времени суток, уважаемые форумчане. Я пытаюсь скомпилировать готовый проект вот отсюда:...


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

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

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