2017-07-01 9 views
1

Travis CIで遊ぶためにGitHub test repoを作成しました。外部依存関係を使用するまでうまくいきました。 .travis.ymlで私はTravis CIの奇妙なコンパイラエラーはローカルマシンでは発生しません

install: 
    - sudo apt-get install libsfml-dev 

を持っていると、このコマンドが正常にトラヴィス・マシン上で実行されますが、コンパイルに、私は

main.cpp: In function ‘int main()’: 
main.cpp:6:5: error: ‘CircleShape’ is not a member of ‘sf’ 
main.cpp:6:21: error: expected ‘;’ before ‘shape’ 
main.cpp:7:5: error: ‘shape’ was not declared in this scope 
g++

main.cpp:6:9: error: no member named 'CircleShape' in namespace 'sf' 
    sf::CircleShape shape(100.f); 
    ~~~~^ 
main.cpp:7:5: error: use of undeclared identifier 'shape' 
    shape.setFillColor(sf::Color::Green); 
    ^

上のようなエラーが発生しますclang++

WindowsマシンでもLinux VMでも、これらのエラーが発生します。コードはSFMLチュートリアルのサンプルコードです。

installコマンドでは、コンパイラが間違ったヘッダについて何も言わないので、何も問題はないようです。

このようなエラーの原因を教えてください。どうすれば修正できますか? installコマンドで何か問題はありましたか?

+2

私が思い出したことから、TravisはUbuntu 12.04を使用しています。これは非常に古いものです。おそらく、それがインストールされたSFMLのバージョンに問題がありますか? – GoodDeeds

+0

ああ、興味深いヒント。私はそれを調べます – kim366

+1

@ GoodDeeds素晴らしい、それは動作します!それは簡単だとは思わなかった – kim366

答えて

2

@GoodDeedsがコメントに投稿されているので、Ubuntuディストリビューションは旧式です。

最新の配信を使用するには、.travis.ymlファイルにdist: trusty(@joepdで指摘されているように)を追加してください。

+0

おそらく 'dist信じている。 – joepd

+0

それは?さて、私はすぐにUbuntuのダウンロードページを見て、キリンは私が見たものでした。 – kim366

+0

Travisのドキュメントをご覧ください。 – joepd

関連する問題