Mac - Qt Dylib locations... ?
-
Hey
I'm trying to write batch script to auto build my apps on Mac. Hitting walls left and right sadly. CPack does nothing for me in CMAKE and I'm now trying to collect all my dependencies manually.
My current problem is that Qt deps points me to >
@rpath/QtOpenGLWidgets.framework/Versions/A/QtOpenGLWidgets
Which is a bit of a mystery as to where that is...How can I find my directory in Cmake, or any-possible-way of qt dylib locations on mac? where are they located?
I used Qt Maintance tool to install Qt.
I tried to auto collect it, but all I get is :
otool -l failed: 1 error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/otool-classic: can't open file: @rpath/QtConcurrent.framework/Versions/A/QtConcurrent (No such file or directory) Call Stack (most recent call first):
Regards
Dariusz -
@mpergand Thanks for the ping!
Sadly its not there
I dont have clang_64
I have macos - I take its arm universal version now.I don't see any dylib's inside that folder. Unless what I selected its what I want ? not dylib?
QtCreator poin me to that dir, but there no dylibs there :c
-
Just for fun, I look at the header of the QtWidgets file
"cf fa ed fe 07 00 00 01 03 00 00 00 06 00 00 00 1c 00 00 00 00 0c 00 00 85 80 11 02 00 00 00 00"
struct mach_header_64 { uint32_t magic; /* mach magic number identifier */ cpu_type_t cputype; /* cpu specifier */ cpu_subtype_t cpusubtype; /* machine specifier */ uint32_t filetype; /* type of file */ uint32_t ncmds; /* number of load commands */ uint32_t sizeofcmds; /* the size of all the load commands */ uint32_t flags; /* flags */ uint32_t reserved; /* reserved */ };
filetype = 6
in "mach-o/loader.h" you find:
#define MH_DYLIB 0x6 /* dynamicly bound shared library file*/
On mac, dynamic libraries are embedded in bundles called frameworks. A framework can have several dylibs even several frameworks (umbrella) -
Hmmm yeah, I'm trying to wrap my head around it.
I need to bundle it all up somehow and CPack does not do anything for some reason on my arm so I'm packing it all by hand.
Atm workflow is to have post_build command that collects all dylibs & places in my exe bundle & use dynlib cmd tool to relink the exe to newly located dylibs, pain in .... will see how it goes. Probably 10 min after finishing the script I will find a one click solution for it =.=