2017-04-24 73 views
0

我使用编译我的程序,使用。唯一的问题是,我不知道如何实际安装包libsdl2libsdl2-ttf如何在Travis CI上将库依赖关系安装为.tar.gz/.tar.xz存档?

这里是我的配置文件:

language: cpp 
compiler: g++ 
before_script: 
    - mkdir -p build 
script: make all 
install: 
    - wget http://archive.ubuntu.com/ubuntu/pool/universe/libs/libsdl2/libsdl2_2.0.4+dfsg2.orig.tar.gz 
    - sudo tar -xzvf libsdl2_2.0.4+dfsg2.orig.tar.gz 
    - wget http://archive.ubuntu.com/ubuntu/pool/universe/libs/libsdl2-ttf/libsdl2-ttf_2.0.12+dfsg1.orig.tar.xz 
    - sudo tar xf libsdl2-ttf_2.0.12+dfsg1.orig.tar.xz 

当配置完成后,它不能编译我的程序,因为它无法找到SDL2/SDL.h这是在libsdl2包。

+0

https://raw.githubusercontent.com/AngryLawyer/rust-sdl2/master/.travis.yml – jamek

回答

0

感谢@jamek让我看看AngryLawyer's own configuration file。这些步骤如下:

如果包被归档为.tar.gz

install: 
- wget [package url] 
- tar xzf [package name].tar.gz 
- pushd [package name] && ./configure && make && sudo make install && popd 

如果包被归档为.tar.xz

install: 
- wget [package url].tar.xz 
- tar xf [package name].tar.xz 
- pushd [package name] && ./configure && make && sudo make install && popd 

这是我自己的配置文件:

language: cpp 
compiler: gcc 
before_script: 
    - mkdir -p build 
script: make all 
before_install: 
    - sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test 
    - sudo apt-get update -qq 
install: 
    - wget https://www.libsdl.org/release/SDL2-2.0.5.tar.gz -O sdl2.tar.gz 
    - tar xzf sdl2.tar.gz 
    - pushd SDL2-* && ./configure && make && sudo make install && popd 
    - wget -q https://www.libsdl.org/projects/SDL_ttf/release/SDL2_ttf-2.0.14.tar.gz 
    - tar xzf SDL2_ttf-*.tar.gz 
    - pushd SDL2_ttf-* && ./configure && make && sudo make install && popd 
    - sudo apt-get install -qq g++-6 
    - sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-6 90