Author Topic: Help with compiling mediainfo? (dependency management in cb)  (Read 5707 times)

Offline visir

  • Multiple posting newcomer
  • *
  • Posts: 76
Help with compiling mediainfo? (dependency management in cb)
« on: October 14, 2017, 07:09:19 am »
Hello. I need to compile this https://mediaarea.net/en/MediaInfo . Download source from here https://mediaarea.net/en/MediaInfo/Download/Source , "Source code, All included, GUI/CLI".

My question is: it needs a lot (8) of libraries, for example a tinyxml2 library, which is just two files. Should I create an extra project for every library? How to set up dependencies, so that cb builds all subprojects in correct order? How to set up paths for included files and object files?

Offline visir

  • Multiple posting newcomer
  • *
  • Posts: 76
Re: Help with compiling mediainfo? (dependency management in cb)
« Reply #1 on: October 14, 2017, 10:00:33 am »
Quote
The solution/projects system is an attempt at 'modules' somehow. Instead of compiling your dependancies and linking to their static library, you put everything in a single solution (including your libs) and then mark them as dependancies.

https://www.reddit.com/r/cpp/comments/4r8n41/what_are_some_reasons_why_visual_studio_seems_so/

Hmm. there was a MediaInfo.workspace file, but I ignored it. Maybe that's it. First time seeing one...

EDIT: Nope, no dependency info there. Can as well just open every .cbp file manually.

Maybe I should just add those files into project, they will compile as one bunch then.
« Last Edit: October 14, 2017, 12:12:31 pm by visir »

Offline stahta01

  • Lives here!
  • ****
  • Posts: 7678
    • My Best Post
Re: Help with compiling mediainfo? (dependency management in cb)
« Reply #2 on: October 14, 2017, 12:32:24 pm »
FYI: The CB Projects are 10 years old! on https://github.com/MediaArea/MediaInfo/tree/master/Project

And, at least 2 CB Projects are custom makefile projects instead or normal CB Projects.
Edit2: And, the makfile appears to be missing for the cb "custom makefile" projects.
Edit3: At least, https://github.com/MediaArea/MediaInfoLib/tree/master/Project/CodeBlocks is only 9 years old.

Tim S.
« Last Edit: October 14, 2017, 02:15:53 pm by stahta01 »
C Programmer working to learn more about C++ and Git.
On Windows 7 64 bit and Windows 10 64 bit.
--
When in doubt, read the CB WiKi FAQ. http://wiki.codeblocks.org

Offline visir

  • Multiple posting newcomer
  • *
  • Posts: 76
Re: Help with compiling mediainfo? (dependency management in cb)
« Reply #3 on: October 14, 2017, 02:15:03 pm »
Building programs is my weak point in general, it just never works. Especially because I'm on windows, and I try to build crossplatform programs without visual studio.

Does it worth trying to update cb projects? How to organize dependencies with cb?

Github issues with label "help wanted" are hilariously related: https://github.com/MediaArea/MediaInfo/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22

Offline stahta01

  • Lives here!
  • ****
  • Posts: 7678
    • My Best Post
Re: Help with compiling mediainfo? (dependency management in cb)
« Reply #4 on: October 14, 2017, 02:25:18 pm »
I would use a separate CB Project for the mediainfo and libmediainfo.
I would use a normal CB Project for mediainfo
And, a custom makefile cb project for libmediainfo.

The reason to use makefile cb project for libmediainfo is because there is a CMake folder for the library.
I would work on building libmediainfo first.

CMake can be used to create a custom makefile cb project.

I would try converting one of the Visual Studio projects into a normal CB project using the import tool for mediainfo project.

I use external dependency option in CB for dependency management; I have never had good results from using CB Workspace/project dependency.

Edit: If you are trying to cross compile this project; I would not try doing that myself; it is not easy to cross compile any project that was created without cross compile support!

Tim S.
« Last Edit: October 14, 2017, 02:28:09 pm by stahta01 »
C Programmer working to learn more about C++ and Git.
On Windows 7 64 bit and Windows 10 64 bit.
--
When in doubt, read the CB WiKi FAQ. http://wiki.codeblocks.org

Offline stahta01

  • Lives here!
  • ****
  • Posts: 7678
    • My Best Post
Re: Help with compiling mediainfo? (dependency management in cb)
« Reply #5 on: October 14, 2017, 02:35:45 pm »
Building programs is my weak point in general, it just never works. Especially because I'm on windows, and I try to build crossplatform programs without visual studio.

This is a multi-platform program; to call it a crossplatform program is misleading and implies you want to do crossplatform build.
crossplatform builds is beyond me; mainly because it is easier to build Windows programs on Windows and harder to build Windows programs under Linux (So, I never tried to learn it).

Tim S.
C Programmer working to learn more about C++ and Git.
On Windows 7 64 bit and Windows 10 64 bit.
--
When in doubt, read the CB WiKi FAQ. http://wiki.codeblocks.org