Problems with MAC (string.h: No such file or directory) [solved]
-
wrote on 26 Mar 2013, 17:39 last edited by
On the Mac a good alternative to using the Qt downloads from qt-project.org is to use the Brew package manager.
Follow these instructions to install brew http://mxcl.github.com/homebrew/
Then use it to install QT, brew install qt will install Qt4 and brew install qt5 will install Qt5.
The nice part about using brew is that you can actually have multiple versions of Qt installed and switch between them. brew switch qt <version>
I've also found that sometimes I had to run macdeployqt with sudo.
-
wrote on 27 Mar 2013, 08:28 last edited by
I gonna write step by step the instructions I use, in case I am confusing myself:
For example, to link the libraries to QtNetwork.
First of all I copy all the libraries that I need (There are in /Libraries/Frameworks) in example.app/Contents/Frameworks/...
* *otool -L example.app/Contents/Frameworks/QtNetwork.framework/Versions/4.0/QtNetwork* example.app/Contents/Frameworks/QtNetwork.framework/Versions/4.0/QtNetwork: @executable_path/../Frameworks/QtNetwork.framework/Versions/4.0/QtNetwork (compatibility version 4.8.0, current version 4.8.4) QtCore.framework/Versions/4/QtCore (compatibility version 4.8.0, current version 4.8.4) /usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.3) ....... **install_name_tool -id @executable_path/../Frameworks/QtCore.framework/Versions/4.0/QtCore plugandpaint.app/Contents/Frameworks/QtCore.framework/Versions/4.0/QtCore* **install_name_tool -change /Library/Frameworks/QtCore.framework/Versions/4.0/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/4.0/QtCore example.app/Contents/Frameworks/QtNetwork.framework/Versions/4.0/QtNetwork* * *otool -L example.app/Contents/Frameworks/QtNetwork.framework/Versions/4.0/QtNetwork* example.app/Contents/Frameworks/QtNetwork.framework/Versions/4.0/QtNetwork: @executable_path/../Frameworks/QtNetwork.framework/Versions/4.0/QtNetwork (compatibility version 4.8.0, current version 4.8.4) QtCore.framework/Versions/4/QtCore (compatibility version 4.8.0, current version 4.8.4) /usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.3) .......
Any idea???
-
wrote on 27 Mar 2013, 14:33 last edited by
What is the output of:
@otool -L example.app/Contents/MacOS/example@
That's where you should be checking your Framework dependancies.
-
wrote on 28 Mar 2013, 16:08 last edited by
I did it!!!
The problem was when I used the instruction install_name_tool -change.
In the manual puts that you should put where is the old library, the new library and the program that needs it.
But my program didn't recognise where is the old library, then the instruction doesn't work.
So at the end I used:
@install_name_tool -change (new library) (program)@
Thank you very much to all, muchas gracias a todos...
-
You're welcome !
Don't forget to update the thread's title so other forum users may know you found a solution
-
wrote on 6 May 2013, 10:40 last edited by
Hi,
I continue with the developmnent of this application.
Now, I have a new problem.
I have to copy the Plugins into my bunddle and link with its necessaries libraries. As I have the original bunddle, I copy the plugins there were in the old package.
This plugins (and frameworks) doesn't work because the libraries with which I compile were a later version.
My problem is when I gonna copy the plugin /qmltooling/libtcpserver.dylib, there aren't in my /Developer/Aplications/Qt/plugins/qmltooling
And similarly with libqsqlmysql.dylib
What I have to do?
-
To make sure I understood you right: you have built your own Qt ?
-
wrote on 7 May 2013, 10:30 last edited by
Yes, I'm not sure but I think so. ;-)
-
Then you have to look for the plugins in your Qt installation path.
Custom Qt
Qt 4:/usr/local/Trolltech/Qt-4.8.4
Qt 5:/usr/local/Qt-5.0.2With MacPorts : somewhere in /opt/local but I can't remember right now precisely where (they might be following Qt's default)
-
wrote on 7 May 2013, 10:45 last edited by
Yes, I need in MAC.
Ok, I try it ... I'll comment
Thanx!!!
-
wrote on 10 May 2013, 08:48 last edited by
I check it, in MAC that folder doesn't exist.
Thanx in advance...
-
Do a global search for the files you need, if they are missing, it means that you didn't build everything.
-
wrote on 13 May 2013, 08:11 last edited by
I did the search but I didn't find anything.
Can I download the libraries?? or someone send me??
-
Wait wait wait, I think, we are getting lost.
Remind me what exactly is your problem ? Did you already do a full rebuild of your application ?
-
wrote on 13 May 2013, 13:33 last edited by
Ok, sorry my english is not very good...
When I compiled the application, it didn't work because needs some plugins and frameworks.
Then I began to link all the plugins and frameworks that my program needs.
At first no problem,
- I created the plugin and framework folder in the bundle.
- I copied plugins or frameworks from my internal files to the bundle.
- I changed the source of the frameworks to the executable_path (install_name_tool ....)
But my problem come when I need /qmltooling/libtcpserver.dylib, because it isn't in my folder (/Developer/Aplications/Qt/)
Thanks!!!
-
Did you run macdeployqt ?
-
wrote on 14 May 2013, 06:51 last edited by
-
So it's working now ?
-
wrote on 14 May 2013, 07:25 last edited by
No, I followed the instructions but the problem continues because I don't find two libraries that my applicaction needs.
-
wrote on 21 May 2013, 07:56 last edited by
Any idea?... I am totally lost...I don't understand why these libraries doesn't appear...