2012-07-11 60 views
1

让我们这个片段:如何静态链接SDL我的a.out在Linux(Ubuntu的)

#include "SDL/SDL.h" 
int main(int argc, char* args[]) 
{ 
    SDL_Init(SDL_INIT_EVERYTHING); 
    SDL_Quit(); 
    return 0; 
} 

编译命令是:

g++ -o myprogram mysource.cpp -lSDL 

我怎样才能 '包括' SDL在我的可执行文件中,以便另一个终端用户可以立即执行它(无需安装SDL或者重新编译我的源代码)?

+0

'G ++ -o myprogram -static mysource.cpp -lSDL'将是一个办法做到这一点,但是静态链接的一切,因此也libc中。 – DipSwitch 2012-07-11 14:59:31

回答

1

尝试:

g++ -o myprogram mysource.cpp -Wl,-Bstatic \ 
    $(sdl-config --static-libs) -Wl,-Bdynamic