oomek / attractplus

Attract-Mode Plus
GNU General Public License v3.0
49 stars 16 forks source link

Linkage failed #46

Closed Arbars closed 1 year ago

Arbars commented 1 year ago

GCC13.1

Creating executable: attractplus ld: cannot find -lsfml-graphics-s.a: No such file or directory ld: cannot find -lsfml-window-s.a: No such file or directory ld: cannot find -lsfml-system-s.a: No such file or directory collect2: error: ld returned 1 exit status

Just make or make USE_SYSTEM_SFML=1 - no difference.

Arbars commented 1 year ago

Build log Attractplus_build.log

Arbars commented 1 year ago

Update 1. I've upgraded system SFML to 2.6.0, output of make:

Compiling obj/fe_base.o...
In file included from src/fe_base.cpp:24:
src/fe_util.hpp:284:19: error: 'sf' was not declared in this scope
  284 | std::basic_string<sf::Uint32> clipboard_get_content();
      |                   ^~
src/fe_util.hpp:284:29: error: template argument 1 is invalid
  284 | std::basic_string<sf::Uint32> clipboard_get_content();
      |                             ^
src/fe_util.hpp:284:29: error: template argument 2 is invalid
src/fe_util.hpp:284:29: error: template argument 3 is invalid
make: *** [Makefile:454: obj/fe_base.o] Error 1
oomek commented 1 year ago

You're missing a dependency. Package bzip2 was not found in the pkg-config search path. You don't need any extra SFML flags. You don't need to install SFML in the system. SFML is a part of extlibs and is compiled every time you build Attract-Mode Plus.

Arbars commented 1 year ago

Thanks for reply! After installing bzib2 Attractplus was comiled succesifully! And one more question: have you some plans of adding in-system SFML support? For example, for packaging in Linux distros? Anyway, thank you for your job!

oomek commented 1 year ago

SFML is now statically linked on all platforms except MacOS. You don't need to have it in your libs folder on Linux