Ошибка неопределенной ссылки SDL2, использование premake5 для сборки, Arch LinuxC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Ошибка неопределенной ссылки SDL2, использование premake5 для сборки, Arch Linux

Сообщение Anonymous »

Я пытался создать проект на C++, использующий sdl2 с premake5 в качестве системы сборки. Моей целью было просто запустить окно, используя код SDL2, предоставленный lazyfoo на SDL2:
https://lazyfoo.net/tutorials/SDL/01_he ... index2.php
Для этого я загрузил исходный код SDL2 и попытался скомпилировать его как статическую библиотеку, как описано на официальном сайте предварительной сборки:
https://premake.github.io/docs/LinkingИсточник взят из
https://github.com/libsdl-org/SDL/relea ... ase-2.30.1
, в частности из SDL2-2.30.1. zip-файл.
Я получаю неопределенную ошибку ссылки на SDL_INIT, SDL_GetError, SDL_CreateWindow и практически любую другую функцию SDL, которую я использую в своем коде.
После нескольких неудачных попыток я воспользовался этим руководством на github, чтобы в первую очередь заставить работать статическую библиотеку.
https://github.com/premake/premake-core ... ample-with -GLFW-and-OpenGL
Я удалил весь код opengl и glfw, так как мне просто хотелось заставить работать простую функцию печати. После того, как мне это удалось, я просто скопировал код и обновил его, чтобы он соответствовал каталогам и путям к файлам SDL2.
Теперь я получаю неопределенную ошибку ссылки, как описано выше.
Мой файл premake5.lua выглядит так:
workspace "Premake Test"
location "Generated"
language "C++"
architecture "x86_64"
configurations { "Debug", "Release" }

filter "configurations:Debug"
symbols "On"

filter "configurations:Release"
optimize "On"

filter { }

targetdir("Build/Bin/%{prj.name}/%{cfg.longname}")
objdir("Build/Obj/%{prj.name}/%{cfg.longname}")

project "SDL"
kind "StaticLib"
includedirs "libs/SDL2-2.30.1/include"
files "libs/SDL2-2.30.1/src/*"

function useSDL()
includedirs "libs/SDL2-2.30.1/include"
links "SDL"
end

project "TestLib"
kind "StaticLib"
files "libs/testlib/**"

function useExampleLib()
includedirs "libs/testlib"
links "TestLib"
end

project "App"
kind "WindowedApp"
files "src/**"

useSDL()
useExampleLib()

Проект SampleLib — это всего лишь моя первая попытка заставить работать общую статическую библиотеку.
Мой файл main.cpp выглядит так:#include
#include
#include "test.h"

//Screen dimension constants
const int SCREEN_WIDTH = 640;
const int SCREEN_HEIGHT = 480;

int main( int argc, char* args[] )
{

print("Wenn das klappt, dann WTF!!!");

SDL_Window *window = nullptr;
SDL_Surface *screenSurface = nullptr;

if (SDL_Init(SDL_INIT_VIDEO) < 0)
{
std::cout

Подробнее здесь: https://stackoverflow.com/questions/781 ... arch-linux
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • SDL2 #include не удается связать
    Anonymous » » в форуме C++
    0 Ответы
    52 Просмотры
    Последнее сообщение Anonymous
  • Ошибка сборки драйвера ядра Linux в Ubuntu «нет правила для создания целевого Arch/x86/entry/syscalls/syscall_32.tbl»
    Anonymous » » в форуме Linux
    0 Ответы
    74 Просмотры
    Последнее сообщение Anonymous
  • «Вызов к неопределенной функции validation_errors ()» и «Вызов к неопределенной функции form_open ()» в просмотре codeig
    Anonymous » » в форуме Php
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • Как правильно управлять устройствами USB на Linux? [Arch Linux]
    Anonymous » » в форуме Linux
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • Как использовать premake5 вместе с MinGW?
    Anonymous » » в форуме C++
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C++»