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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 90, средняя оценка - 4.91
Ryabchik
18 / 18 / 1
Регистрация: 09.01.2013
Сообщений: 163
#1

Прилинковать SDL к V.S. 2010 - C++

30.07.2013, 22:30. Просмотров 13421. Ответов 47
Метки нет (Все метки)

Доброго всем вечера.
Я знаю, что подобных тем было много, но, справиться с проблемой не могу.
Скачал с оф.сайта все .h, SDL.lib, SDLmain.lib и SDL.dll.
dll поместил в System32, либы и .h собрал в папку.
В свойствах проекта указал к папке путь и выбрал Многопоточный Dll (\WD)
В компоновщике указал обе библиотеки и выбрал \SUBSYSTEM:WINDOWS.

При компиляции простенького проекта:
LINK : fatal error LNK1104: не удается открыть файл "SDL.lib"

Если поместить все файлы в папку проекта и поменять путь в настройках:
MSVCRT.lib(crtexew.obj) : error LNK2019: ссылка на неразрешенный внешний символ _WinMain@16 в функции ___tmainCRTStartup
D:\visual studio 2010\Projects\SDL\Урок 1\Debug\Урок 1.exe : fatal error LNK1120: 1 неразрешенных внешних элементов

Вот код:
App.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include "App.h"
 
App::App() {}
 
int App::Execute() {
    return 0;
}
 
int main(int argc, char* argv[]) {
    App App;
 
    return App.Execute();
}
App.h
C++
1
2
3
4
5
6
7
8
9
10
11
#ifndef _APP_H_
#define _APP_H_
 
#include <SDL.h>
 
class App {
    public:
        App();
        int Execute();
};
#endif
Буду рад любой помощи
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.07.2013, 22:30
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Прилинковать SDL к V.S. 2010 (C++):

Прилинковать SDL 2.0.3 к Visual Studio 2010 Express - C++
ребята делал все как написано тут версия сдл 2.0.3 но в конце выдает такое &quot;sdltest.exe&quot;: Загружено: &quot;C:\Users\Iliya\Documents\Visual...

SDL 2. Как правильно прилинковать/подключить к Visual Studio? - C++
Я пересмотрел много материалов по этой теме, но никакие из них мне не помогли. 1. Подключил инклуды. 2. Подключил либы (Файлы *.lib) ...

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

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

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

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

47
alsav22
5426 / 4821 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
31.07.2013, 18:37 #16
Цитата Сообщение от Ryabchik Посмотреть сообщение
у вас работает в Студии?
Работает что?

Добавлено через 3 минуты
Ryabchik, там ещё либы под разные платформы, учитывайте это.

Добавлено через 2 минуты
Цитата Сообщение от Ryabchik Посмотреть сообщение
SDL-1.2.15
почему не поновее?
0
coloc
погромист
411 / 247 / 15
Регистрация: 27.08.2012
Сообщений: 550
Завершенные тесты: 1
31.07.2013, 19:45 #17
Цитата Сообщение от alsav22 Посмотреть сообщение
почему не поновее?
Сейчас все статьи именно по этой версии, для версии поновее надо доку читать. Для начала пойдет.
Цитата Сообщение от alsav22 Посмотреть сообщение
но на нажатие не реагирует.
СДЛ переводит вывод в файл stdout

Добавлено через 5 минут
alsav22, вот такой вариант у меня работает
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
34
35
36
37
38
39
40
41
42
#include <SDL\SDL.h>
#include <cstdlib>
#include <iostream>
#include <Windows.h>
//using namespace std;
 
//int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
int main(int argc, char *argv[])
{
    //Start SDL
    SDL_Init( SDL_INIT_EVERYTHING );
    
    SDL_Event event;
    SDL_Surface *screen = NULL;
    
    if((screen = SDL_SetVideoMode(800, 600, 32, SDL_HWSURFACE | SDL_DOUBLEBUF))==NULL){
        return 1;
    }
    
    bool running = true;
    
    while( running ) {
        while( SDL_PollEvent( &event ) ) {
            switch (event.type) 
            {
                case SDL_KEYDOWN:
                    printf("The %s key was pressed!\n",
                    SDL_GetKeyName(event.key.keysym.sym));
                break;
            
                case SDL_QUIT:
                    running = false;
            }
        }
        SDL_Flip( screen );
    }
    
    //Quit SDL
    SDL_Quit();
    //system("pause");
    return 0;
}
0
alsav22
5426 / 4821 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
31.07.2013, 20:42 #18
Это у меня просто не компилируется. Не находит:
SDL_SetVideoMode
SDL_HWSURFACE
SDL_DOUBLEBUF
SDL_Flip
0
Ryabchik
18 / 18 / 1
Регистрация: 09.01.2013
Сообщений: 163
31.07.2013, 21:04  [ТС] #19
alsav22, у меня то же самое
0
alsav22
5426 / 4821 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
31.07.2013, 21:06 #20
А из 14 поста компилируется?
0
coloc
погромист
411 / 247 / 15
Регистрация: 27.08.2012
Сообщений: 550
Завершенные тесты: 1
31.07.2013, 21:16 #21
Ryabchik,alsav22, значит у вас обоих вторая версия СДЛ
0
Ryabchik
18 / 18 / 1
Регистрация: 09.01.2013
Сообщений: 163
31.07.2013, 21:23  [ТС] #22
Цитата Сообщение от alsav22 Посмотреть сообщение
А из 14 поста компилируется?
Нет.
_SDL_Quit, _SDL_GetKeyName, _SDL_WaitEvent, _SDL_Init - неразрешенные внешние ...
Ну и _WinMain@16 в функции ___tmainCRTStartup, разумеется.
Но последнее уходит заменой на WinMain

Добавлено через 2 минуты
Цитата Сообщение от coloc Посмотреть сообщение
вторая версия СДЛ
Я скачивал с оф сайта http://www.libsdl.org/.
0
coloc
погромист
411 / 247 / 15
Регистрация: 27.08.2012
Сообщений: 550
Завершенные тесты: 1
31.07.2013, 21:24 #23
Цитата Сообщение от Ryabchik Посмотреть сообщение
Я скачивал с оф сайта http://www.libsdl.org/.
Конкретно скажи откуда либу качал? Там есть и 1.2.5 и 2.0 версии. Как я знаю, WinMain требует вторая версия
0
Ryabchik
18 / 18 / 1
Регистрация: 09.01.2013
Сообщений: 163
31.07.2013, 21:26  [ТС] #24
Вот - http://www.libsdl.org/download-1.2.php.
Win32 - Visual C++
Про 2.0 написано - not release version, may be unstable
0
coloc
погромист
411 / 247 / 15
Регистрация: 27.08.2012
Сообщений: 550
Завершенные тесты: 1
31.07.2013, 21:26 #25
del
0
Ryabchik
18 / 18 / 1
Регистрация: 09.01.2013
Сообщений: 163
31.07.2013, 21:29  [ТС] #26
Цитата Сообщение от coloc Посмотреть сообщение
del
А что взамен?
0
Uzer5
4 / 4 / 1
Регистрация: 22.09.2012
Сообщений: 11
31.07.2013, 21:43 #27
только сегодня посадил SDL на VS2012.
Просто скопировал всё из папки lib в lib, include в папку include/SDL.
Затем линкуем (Project->Properties->Configuration Properties->Linker->Input добавляем SDLmain.lib; SDL.lib
Прога отлично бегает.
П.С. SDL.dll от minGw не подошёл, пришлось скачивать версию для VS и пришлось /NODEFAULTLIB:library msvcrt.lib прописать.
0
alsav22
5426 / 4821 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
31.07.2013, 21:54 #28
Цитата Сообщение от coloc Посмотреть сообщение
Ryabchik,alsav22, значит у вас обоих вторая версия СДЛ
У меня да, вторая.

Добавлено через 3 минуты
Цитата Сообщение от Uzer5 Посмотреть сообщение
только сегодня посадил SDL
SDL какая? И если не трудно, какой-нибудь рабочий код для демонстрации работы.

Добавлено через 4 минуты
Цитата Сообщение от Ryabchik Посмотреть сообщение
Нет.
_SDL_Quit, _SDL_GetKeyName, _SDL_WaitEvent, _SDL_Init - неразрешенные внешние ...
Ну и _WinMain@16 в функции ___tmainCRTStartup, разумеется.
Но последнее уходит заменой на WinMain
У вас линкер ошибки выдаёт. Ещё раз:
Цитата Сообщение от alsav22 Посмотреть сообщение
Ryabchik, там ещё либы под разные платформы, учитывайте это.
0
Ryabchik
18 / 18 / 1
Регистрация: 09.01.2013
Сообщений: 163
31.07.2013, 21:57  [ТС] #29
Цитата Сообщение от alsav22 Посмотреть сообщение
Ryabchik, там ещё либы под разные платформы, учитывайте это.
Ну да, Win32 -> Visual C++
0
alsav22
5426 / 4821 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
31.07.2013, 22:14 #30
А либы для х86 подключили? У меня такие ошибки появляются, если либы для х64 подключить.
0
31.07.2013, 22:14
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.07.2013, 22:14
Привет! Вот еще темы с ответами:

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

инициализация SDL - C++
подключил #include &quot;SDL.h&quot; - проверил, запустилось. добавил первую строку из статьи про работу сдл SDL_Init(SDL_INIT_VIDEO); ...

SDL Графика. - C++
Добрый день! Не могу соединить два проекта, в одном изображение переводится в ч\б, во втором тонируется изображение. Мне нужно получить...

SDL - Конфигурирование - C++
Всем доброго времени суток. Недавно натолкнулся проблему с настройкой SDL. Дело в том, что мне нужно отключить переадресацию stdio с...


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

Или воспользуйтесь поиском по форуму:
30
Ответ Создать тему
Опции темы

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