Yalir / sfeMovie

sfeMovie is a simple C++ library that lets you play movies in SFML based applications. It relies on FFmpeg to read medias and remains consistent with SFML's naming conventions.
http://sfemovie.yalir.org/
GNU Lesser General Public License v2.1
114 stars 37 forks source link

Visual Studio 2015) Required executable 'yasm' not found #97

Closed hsdk123 closed 8 years ago

hsdk123 commented 8 years ago

@Ceylo Hi, I've recently tried updating to the latest sfeMovie build. I'm currently stuck on using cmake, I'm getting the error

CMake Error at FFmpeg/CMakeLists.txt:63 (message):
  Required executable 'yasm' not found
hsdk123 commented 8 years ago

I've cloned from master, this is what my current cmake-gui state looks like: image

Ceylo commented 8 years ago

Hi, as stated on http://sfemovie.yalir.org/latest/start.php you must indeed have yasm. Recommended way is through MSYS2 although you can also get the binary from yasm website and tell CMake about it

hsdk123 commented 8 years ago

@Ceylo Thanks, that solves it. It would be nice though if the error message could print out "try pacman -S yasm" as it did for when tar / make was not installed.

I'm however getting this error now:

CMake Error at cmake/Modules/FindSFML.cmake:356 (message):
  Could NOT find SFML (missing: SFML_GRAPHICS_LIBRARY SFML_WINDOW_LIBRARY
  SFML_SYSTEM_LIBRARY SFML_AUDIO_LIBRARY)
Call Stack (most recent call first):
  CMakeLists.txt:94 (find_package)

I've tried resetting the cache, adding SFML_ROOT to the sfml folder path, then pressing configure, but this still doesn't work.

hsdk123 commented 8 years ago

Would there be a way to set the path to the lib folder?

feliwir commented 8 years ago

It will find the libs autonatically if SFML_ROOT is set correctly

hsdk123 commented 8 years ago

@feliwir If I happened to have built the libraries in a different folder than the SFML_ROOT folder (ex. so that I can keep my original root folder in sync with the github repository), then this will cause issues. Is there a way to set the library directory directly, instead of defining SFML_ROOT?

Ceylo commented 8 years ago

SFML_ROOT works with the directory structure used at install time. So you should install then set SFML_ROOT to your installation path. Selecting the libraries one by one is clearly not the way to go

hsdk123 commented 8 years ago

@Ceylo I'd agree - I think it might be more flexible though to enable setting a directory where the libraries should be. ex. "SFML_LIBDIR"

firefly2442 commented 8 years ago

I believe you can set CMAKE_PREFIX_PATH. This will look for libraries and other things in that folder or folders. See here: https://cmake.org/Wiki/CMake_Useful_Variables

Ceylo commented 8 years ago

@hsdk123 How SFML is found is SFML's responsibility: they provide the script (FindSFML.cmake) used to find SFML, so it won't change here. You can ask them about this feature if you really want it (to my mind it's not needed).