Símbolo indefinido Erro ao executar o programa SDL

1

Recentemente, comecei a brincar com o SDL, seguindo alguns tutoriais on-line. Eu tenho um programa de teste básico, e compilado bem, e correu bem até recentemente. Começando cerca de dois dias atrás, tentando executar o binário (O mesmo binário, não recompilado) gera o seguinte erro:

./sdltest: symbol lookup error: /usr/local/lib/libSDL-1.2.so.0: undefined symbol: _XGetRequest

Tenho certeza de que não instalei nem removi nada desde que o programa parou de funcionar. Eu estou correndo 12.10 (tenho sido desde antes que eu recebi este erro, então eu tenho certeza que não é um erro 12.10), e eu tenho compilado com os seguintes comandos (extraído do meu makefile):

g++ -c -o main.o main.cpp
g++ -c -o CApp.o CApp.cpp
g++ main.o CApp.o -o sdltest -lSDL

Alguém tem alguma idéia do que deu errado, e o que eu posso fazer para corrigir isso?

    
por Jason Baker 23.04.2013 / 05:37

2 respostas

0

Ainda não tenho certeza do porque isso estava acontecendo com o SDL1.2, mas suspeito que esteja relacionado ao seguinte:

Eu removi o SDL1.2 e baixei o SDL2. Acontece que uma atualização de 2012 para o X11 adicionou um símbolo dinâmico para _XGetRequest, que é o que estava causando meu problema no SDL2. Para corrigir o problema, baixei e instalei o SDL2 do repositório oficial do Mercurial, em vez do gerenciador de pacotes do Ubuntu.

    
por Jason Baker 02.07.2014 / 20:04
-1

você pode achar essa resposta baseada no Slackware útil para uma pergunta semelhante. Foi resolvido.

link

    
por Vladislav 09.05.2014 / 09:47