19 / 20 / 0
Регистрация: 09.01.2013
Сообщений: 168

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

30.07.2013, 22:30. Показов 28503. Ответов 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
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.07.2013, 22:30
Ответы с готовыми решениями:

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

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

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

47
погромист
 Аватар для coloc
415 / 251 / 30
Регистрация: 27.08.2012
Сообщений: 550
31.07.2013, 21:16
Студворк — интернет-сервис помощи студентам
Ryabchik,alsav22, значит у вас обоих вторая версия СДЛ
0
19 / 20 / 0
Регистрация: 09.01.2013
Сообщений: 168
31.07.2013, 21:23  [ТС]
Цитата Сообщение от alsav22 Посмотреть сообщение
А из 14 поста компилируется?
Нет.
_SDL_Quit, _SDL_GetKeyName, _SDL_WaitEvent, _SDL_Init - неразрешенные внешние ...
Ну и _WinMain@16 в функции ___tmainCRTStartup, разумеется.
Но последнее уходит заменой на WinMain

Добавлено через 2 минуты
Цитата Сообщение от coloc Посмотреть сообщение
вторая версия СДЛ
Я скачивал с оф сайта http://www.libsdl.org/.
0
погромист
 Аватар для coloc
415 / 251 / 30
Регистрация: 27.08.2012
Сообщений: 550
31.07.2013, 21:24
Цитата Сообщение от Ryabchik Посмотреть сообщение
Я скачивал с оф сайта http://www.libsdl.org/.
Конкретно скажи откуда либу качал? Там есть и 1.2.5 и 2.0 версии. Как я знаю, WinMain требует вторая версия
0
19 / 20 / 0
Регистрация: 09.01.2013
Сообщений: 168
31.07.2013, 21:26  [ТС]
Вот - http://www.libsdl.org/download-1.2.php.
Win32 - Visual C++
Про 2.0 написано - not release version, may be unstable
0
погромист
 Аватар для coloc
415 / 251 / 30
Регистрация: 27.08.2012
Сообщений: 550
31.07.2013, 21:26
del
0
19 / 20 / 0
Регистрация: 09.01.2013
Сообщений: 168
31.07.2013, 21:29  [ТС]
Цитата Сообщение от coloc Посмотреть сообщение
del
А что взамен?
0
 Аватар для Uzer5
4 / 4 / 1
Регистрация: 22.09.2012
Сообщений: 12
31.07.2013, 21:43
только сегодня посадил 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
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
31.07.2013, 21:54
Цитата Сообщение от coloc Посмотреть сообщение
Ryabchik,alsav22, значит у вас обоих вторая версия СДЛ
У меня да, вторая.

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

Добавлено через 4 минуты
Цитата Сообщение от Ryabchik Посмотреть сообщение
Нет.
_SDL_Quit, _SDL_GetKeyName, _SDL_WaitEvent, _SDL_Init - неразрешенные внешние ...
Ну и _WinMain@16 в функции ___tmainCRTStartup, разумеется.
Но последнее уходит заменой на WinMain
У вас линкер ошибки выдаёт. Ещё раз:
Цитата Сообщение от alsav22 Посмотреть сообщение
Ryabchik, там ещё либы под разные платформы, учитывайте это.
0
19 / 20 / 0
Регистрация: 09.01.2013
Сообщений: 168
31.07.2013, 21:57  [ТС]
Цитата Сообщение от alsav22 Посмотреть сообщение
Ryabchik, там ещё либы под разные платформы, учитывайте это.
Ну да, Win32 -> Visual C++
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
31.07.2013, 22:14
А либы для х86 подключили? У меня такие ошибки появляются, если либы для х64 подключить.
0
19 / 20 / 0
Регистрация: 09.01.2013
Сообщений: 168
31.07.2013, 22:29  [ТС]
Я разложил все по папкам в VC. Реакция неоднозначная. Появилось много новых странных ошибок
1>App.obj : error LNK2001: неразрешенный внешний символ "__RTC_Shutdown"
1>App.obj : error LNK2001: неразрешенный внешний символ "__RTC_InitBase"
1>App.obj : error LNK2019: ссылка на неразрешенный внешний символ __RTC_CheckEsp в функции "public: bool __thiscall App::Init(void)" (?Init@App@@QAE_NXZ)
1>App.obj : error LNK2019: ссылка на неразрешенный внешний символ ___security_cookie в функции "public: int __thiscall App::Execute(void)" (?Execute@App@@QAEHXZ)
1>App.obj : error LNK2019: ссылка на неразрешенный внешний символ @__security_check_cookie@4 в функции "public: int __thiscall App::Execute(void)" (?Execute@App@@QAEHXZ)
1>App.obj : error LNK2019: ссылка на неразрешенный внешний символ @_RTC_CheckStackVars@8 в функции "public: int __thiscall App::Execute(void)" (?Execute@App@@QAEHXZ)
1>LINK : error LNK2001: неразрешенный внешний символ "_WinMainCRTStartup"

Чего же я такой косячный!
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
31.07.2013, 22:41
Тут читали, как среду настроить? http://lazyfoo.net/SDL_tutoria... /index.php
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
31.07.2013, 23:09
Сейчас ещё раз всё сделал. Давайте по порядку. Уберите всё, что поместили в папки VC и прочие посторонние папки.

Создаёте пустой проект: Общие - Пустой. Добавляете в проект файл .cpp. Вставляете туда код:
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
#include "SDL.h"
#include <cstdlib>
#include <iostream>
 
int main(int argc, char *argv[])
{
    //Start SDL
    SDL_Init( SDL_INIT_EVERYTHING );
    {
    SDL_Event event;
 
    SDL_WaitEvent(&event);
 
    switch (event.type) 
    {
        case SDL_KEYDOWN:
            printf("The %s key was pressed!\n",
                   SDL_GetKeyName(event.key.keysym.sym));
            break;
        case SDL_QUIT:
            exit(0);
    }
    }
    //Quit SDL
    SDL_Quit();
    //system("pause");
    return 0;
}
Заходите в свойства проекта - С/С++ - общие - дополнительные каталоги включаемых файлов: пишите здесь путь к папке include: C:\Documents and Settings\Administrator\Desktop\SDL\SDL2-devel-2.0.0-VC\SDL2-2.0.0\include.

Компоновщик - общие - дополнительные каталоги библиотек: пишите путь к папке х86: C:\Documents and Settings\Administrator\Desktop\SDL\SDL2-devel-2.0.0-VC\SDL2-2.0.0\lib\x86

Компоновщик - ввод - дополнительные зависимости: пишите здесь названия lib файлов:
SDL2.lib
SDL2main.lib
SDL2test.lib

Компоновщик - ввод - Игнорировать все стандартные библиотеки (вторая строка): пишите здесь msvcrt.lib

Компоновщик - система: выбираете Консоль.

Компилируете.

Результат.
Миниатюры
Прилинковать SDL к V.S. 2010  
4
19 / 20 / 0
Регистрация: 09.01.2013
Сообщений: 168
31.07.2013, 23:19  [ТС]
alsav22, спасибо вам огромное за помощь. Завтра обязательно попробую
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
01.08.2013, 00:21
Сейчас скачал и подключил SDL 1.2.15 (как описал в 33 посте). Код, из 17 поста, скомпилировался и заработал.
Миниатюры
Прилинковать SDL к V.S. 2010  
2
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
01.08.2013, 05:17
Если в свойствах проекта выбрать не консоль, а windows, то будет выводиться только окно программы.

Добавлено через 4 часа 51 минуту
Вот этот код работает с SDL 2.0:
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
#include "SDL.h"
#include <cstdlib>
#include <iostream>
#include <Windows.h>
 
int main(int argc, char *argv[])
{
    //Start SDL
    SDL_Init(SDL_INIT_EVERYTHING);
    
    SDL_Window *window;
    window = SDL_CreateWindow("SDLwindow", 600, 300, 400, 300, SDL_WINDOW_OPENGL);
    
    SDL_Event event;
    
    while (1) 
    {
        while (SDL_PollEvent(&event)) 
        {
            switch (event.type) 
            {
                case SDL_KEYDOWN:
                    std::cout << "The " 
                              <<  SDL_GetKeyName(event.key.keysym.sym)
                              << " key was pressed!\n";
                    break;
                case SDL_QUIT:
                    exit(0);
            }
        }
    }
    
    SDL_DestroyWindow(window); 
    
    //Quit SDL
    SDL_Quit();
    
    return 0;
}
1
19 / 20 / 0
Регистрация: 09.01.2013
Сообщений: 168
01.08.2013, 17:00  [ТС]
alsav22, Все компилится, линкуется и работает! Что еще нужно для счастья!
0
2 / 2 / 0
Регистрация: 22.10.2013
Сообщений: 13
26.10.2013, 14:33
Цитата Сообщение от alsav22 Посмотреть сообщение
Компоновщик - ввод - Игнорировать все стандартные библиотеки (вторая строка): пишите здесь msvcrt.lib
Я написал в этом месте msvcrt.lib, но при компиляции выскакивает вот такая ошибка
C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Platfor ms\Win32\Microsoft.Cpp.Win32.Targets(304 ,9): error MSB4030: "msvcrt.lib" — недопустимое значение параметра "IgnoreAllDefaultLibraries" задачи "Link". Параметр "IgnoreAllDefaultLibraries" относится к типу "System.Boolean".
alsav22, что я неправильно делаю? Подскажи пожалуйста
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
26.10.2013, 14:48
Вообще ничего не писать пробовали? Здесь пишите? Во второй сроке? Там две настройки с одинаковыми названиями.
Миниатюры
Прилинковать SDL к V.S. 2010  
1
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
26.10.2013, 14:49
SDL какая?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.10.2013, 14:49

Прилинковать сервера
Приветсвую всех. У меня два ПК в домене c SQL серверами 2005ЕЕ и express 2008R2 запущены оба под учетной записью Администратора домена имя:...

Прилинковать библиотеку
Здравствуйте. Создал приложение MFC, как сделать, чтобы мой exe открывался без VS, на других компьютерах. Подсказали, что нужно создать с...

Как прилинковать libgsl?
Добрый день. Сегодня полдня компилировал GNU Scientific Library под Cygwin в XP. В конце концов, получил таки libgsl.a. Подскажите...

Подскажите, как прилинковать Excel
Имеется таблица, содержащая поля: Организация, Город, Отрасль, E-mail. На главной форме есть поле со списком-Город, и кнопка, при нажатии...

Как прилинковать dll к проекту?
Пишу программу, но при тесте у других юзеров выяснилось, что для запуска программы требуется sqlite3.dll. Как мне прилинковать её чтобы она...


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

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

Новые блоги и статьи
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru