Я сделал тестовое репо GitHub для игры с Travis CI, и он работал нормально, пока я не попытался использовать внешние зависимости. В .travis.yml
меня есть
install:
- sudo apt-get install libsfml-dev
и эта команда успешно выполняется на машине Travis, но при компиляции я получаю ошибки, подобные
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
?
Как @GoodDeeds опубликовал в комментариях, дистрибутив Ubuntu устарел.
Добавьте dist: trusty
(как указано @joepd) в ваш файл .travis.yml
чтобы использовать обновленное распространение.
dist: trusty
.