OSX GCC, how to specify sfml library source?

I am trying to compile a project that uses sfmlI installed sfml 2.1through homebrewas shown below

unknown542696d2a12b:keeperrl kevzettler$ brew list sfml
    /usr/local/Cellar/sfml/2.1/Frameworks/freetype.framework/ (3 files)
    /usr/local/Cellar/sfml/2.1/Frameworks/sndfile.framework/ (3 files)
    /usr/local/Cellar/sfml/2.1/include/SFML/ (87 files)
    /usr/local/Cellar/sfml/2.1/lib/libsfml-audio.2.1.dylib
    /usr/local/Cellar/sfml/2.1/lib/libsfml-graphics.2.1.dylib
    /usr/local/Cellar/sfml/2.1/lib/libsfml-network.2.1.dylib
    /usr/local/Cellar/sfml/2.1/lib/libsfml-system.2.1.dylib
    /usr/local/Cellar/sfml/2.1/lib/libsfml-window.2.1.dylib
    /usr/local/Cellar/sfml/2.1/lib/ (10 other files)
    /usr/local/Cellar/sfml/2.1/share/SFML/ (3 files)

The project compiles, however, when I try to start it, I get an error message:

unknown542696d2a12b:keeperrl kevzettler$ ./keeper
dyld: Library not loaded: @executable_path/../Frameworks/freetype.framework/Versions/A/freetype
  Referenced from: /usr/local/lib/libsfml-graphics.2.dylib
  Reason: image not found
Trace/BPT trap: 5

It seems dyld is trying to download another version sfml. Than the one installed from homebrewI suspect that this is some default system error from OSX.

The compilation command looks like this:

 /usr/local/Cellar/gcc49/4.9.0/bin/gcc-4.9 -Wall -std=c++0x -lstdc++ -ftemplate-depth=1024 -Wno-sign-compare -Wno-unused-variable \
-I. -I./extern -I/usr/local/Cellar/boost/1.55.0/include/boost/ -I/usr/local/Cellar/boost/1.55.0/lib -I/usr/local/Cellar/sfml/2.1/include/SFML/ -I/usr/local/Cellar/sfml/2.1/lib/ -static-libstdc++ -g -O3 -o keeper \
obj-opt/time_queue.o obj-opt/level.o obj-opt/model.o obj-opt/square.o obj-opt/util.o obj-opt/monster.o obj-opt/square_factory.o obj-opt/view.o obj-opt/creature.o obj-opt/message_buffer.o obj-opt/item_factory.o obj-opt/item.o obj-opt/inventory.o obj-opt/debug.o obj-opt/player.o obj-opt/window_view.o obj-opt/field_of_view.o obj-opt/view_object.o obj-opt/creature_factory.o obj-opt/quest.o obj-opt/shortest_path.o obj-opt/effect.o obj-opt/equipment.o obj-opt/level_maker.o obj-opt/monster_ai.o obj-opt/attack.o obj-opt/tribe.o obj-opt/name_generator.o obj-opt/event.o obj-opt/location.o obj-opt/skill.o obj-opt/fire.o obj-opt/ranged_weapon.o obj-opt/map_layout.o obj-opt/trigger.o obj-opt/map_memory.o obj-opt/view_index.o obj-opt/pantheon.o obj-opt/enemy_check.o obj-opt/collective.o obj-opt/task.o obj-opt/markov_chain.o obj-opt/controller.o obj-opt/village_control.o obj-opt/poison_gas.o obj-opt/minion_equipment.o obj-opt/statistics.o obj-opt/options.o obj-opt/renderer.o obj-opt/tile.o obj-opt/map_gui.o obj-opt/gui_elem.o obj-opt/item_attributes.o obj-opt/creature_attributes.o obj-opt/serialization.o obj-opt/unique_entity.o obj-opt/entity_set.o obj-opt/gender.o obj-opt/main.o obj-opt/gzstream.o obj-opt/singleton.o obj-opt/technology.o obj-opt/encyclopedia.o obj-opt/creature_view.o obj-opt/input_queue.o obj-opt/user_input.o obj-opt/window_renderer.o obj-opt/texture_renderer.o obj-opt/minimap_gui.o obj-opt/music.o obj-opt/test.o obj-opt/sectors.o obj-opt/vision.o \
-lsfml-graphics -lsfml-audio -lsfml-window -lsfml-system -lboost_serialization -lz -L/usr/local/Cellar

I tried to specify flags -Iand -Lto indicate in the library2.1

-I/usr/local/Cellar/sfml/2.1/include/SFML/ -I/usr/local/Cellar/sfml/2.1/lib/ -L/usr/local/Cellar

+4
source share
2 answers

Why doesn't the SFML formula work out of the box?

SFML freetype libsndfile /Library/Frameworks Frameworks .

.

SFML Mac ?

: 1:1 : SFML Xcode (Mac OS X) ( , SFML Xcode!)

brew. ?

. .

, install_name_tool, .

freetype. libsndfile.

install_name_tool -change @executable_path/../Frameworks/freetype.framework/Versions/A/freetype /usr/local/lib/libfreetype.dylib /usr/local/Cellar/sfml/2.1/lib/libsfml-graphics.2.1.dylib

, , freetype /usr/local/lib. , freetype . , Xcode SFML.

+2

SFML , .app. , , FreeType, SFML ( SFML). , FreeType: @executable_path/../Frameworks/freetype.framework/Versions/A/freetype.

(keeper) ., OS X FreeType ./../Frameworks/freetype.framework/Versions/A/freetype, , . , SFML , .app, / .

:

  • .app,
  • (FreeType sndfile) (.. @executable_path/../Frameworks/freetype.framework/Versions/A/freetype)
  • SFML , /
+1

Source: https://habr.com/ru/post/1543622/


All Articles