Qt Creator on mac osx: c++ headers not being found / boost/shared_ptr.hpp: No such file or directory
-
wrote on 25 Jul 2014, 22:23 last edited by
Can you also show me the line of code that is failing, this one:
../app/src/harbour-wlan-keyboard.cpp:41
-
wrote on 25 Jul 2014, 22:35 last edited by
Thanks for your support.
I)
@ cd /usr/local/include/boost
ls -lh
@Here is the output: https://gist.github.com/abertschi/b177e45d6258ef2aed19
II.)
@./app/src/harbour-wlan-keyboard.cpp:41:32: @
is the include of the boost header file:
@#include <boost/shared_ptr.hpp>@
-
wrote on 25 Jul 2014, 22:43 last edited by
Btw, my os has Xcode in version 5.1.1 (5B1008) installed.
-
wrote on 25 Jul 2014, 22:52 last edited by
Ok I don't see anything wrong so lets test a few more things:
-
If you cat /usr/local/include/boost/shared_ptr.hpp does it work? Do this as the user that is doing the build. Making sure there is no permission issue and that it can actually read the file.
-
Trying adding INCLUDEPATH += /usr/local/Cellar/boost/1.55.0_2/include to your project file. This will test to see if there is some kind of symlink issue or something.
Your symlink looks good, your files look good (no permissions issues I can see), and your include path in your build looks good. It should work so it's weird that it isn't.
-
-
wrote on 25 Jul 2014, 23:07 last edited by
1.) cat /usr/local/include/boost/shared_ptr.hpp looks good. I trigger the build in Qt Creator by "Build Project". The user is the same as I used for cat.
2.) I have already tried to include
INCLUDEPATH += /usr/local/Cellar/boost/1.55.0_2/include
but without success. I get the same error showing "no such file or directory".I packed the whole project as zip: http://abertschi.ch/default_public/qt/app.zip
Even if I exclude all Sailfish OS specific #includes and just include the boost library in a simple cpp file, the boost header can't be found.
Do you have any other idea ?
-
wrote on 25 Jul 2014, 23:19 last edited by
This is really weird. Let's try removing Qt from it and just do:
@
// main.cpp#include <boost/shared_ptr.hpp>
int main(int argc, char *argv[])
{
return 0;
}
@Then to build (on command line):
@
g++ -I/usr/local/include -o main main.cpp
@If that has the problem them we can try to figure it out from there, if not it's something Qt is doing and we can look further into it.
-
wrote on 25 Jul 2014, 23:24 last edited by
It's weird indeed. The compilation by command line works just fine.
-
wrote on 25 Jul 2014, 23:27 last edited by
Ok, lets make it into a Qt project and see if that works. Assuming you have an empty directory with just main.cpp in it, do
@
qmake -project
@Then edit the resulting pro file and add:
@
INCLUDEPATH += /usr/local/include
@Then try:
@
qmake
make
@See if that builds.
-
wrote on 25 Jul 2014, 23:36 last edited by
make shows me
@
make: Nothing to be done for `first'.
@Although the code was never compiled.
Generated Makefile: https://gist.github.com/abertschi/d77626909a2f0a8d6912
-
wrote on 25 Jul 2014, 23:57 last edited by
Just to keep you on track.
The next things I'm going to try are:-
Download Qt 5.3.1 and try to compile with boost headers
-
Try to find an older Sailfish Qt release and try to compile with boost headers
@ambershark, I really appreciate your help, thanks a lot. If you have any other idea please let me know.
-
-
wrote on 26 Jul 2014, 00:02 last edited by
Let me see the generated pro file, or you can just try:
@
make distclean
qmake
make
@If distclean doesn't cause a recompile, then
@
rm *.o
rm main
qmake
make
@That should force the compile and we'll see what happens.
And boost should work even without compiling it into qt, but adding it to qt would be the better approach. This guarantees compatibility.
-
wrote on 26 Jul 2014, 00:13 last edited by
@make distclean @
or
@rm *.o @
don't help. No out files were generated.
@ make: Nothing to be done for `first'.@
All I get is the above message and the Makefile:
@
drwxr-xr-x 5 abertschi staff 170 26 Jul 02:08 .
drwxr-xr-x 5 abertschi staff 170 26 Jul 01:35 ..
-rw-r--r-- 1 abertschi staff 4891 26 Jul 02:08 Makefile
-rw-r--r-- 1 abertschi staff 83 26 Jul 01:29 main.cpp
-rw-r--r-- 1 abertschi staff 302 26 Jul 02:08 qt-proj.pro
@ -
wrote on 26 Jul 2014, 00:29 last edited by
Let me see that qt-proj.pro file...
-
wrote on 26 Jul 2014, 14:09 last edited by
@######################################################################
Automatically generated by qmake (2.01a) Sa. Jul 26 01:29:05 2014
######################################################################
TEMPLATE = subdirs
SOURCES += main.cpp
Directories
INCLUDEPATH += /usr/local/include
@ -
wrote on 26 Jul 2014, 22:53 last edited by
Ok there's the problem. It is using a subdirs template. Not sure why it would have generated that.
Make a new pro file with this:
@
TEMPLATE = app
TARGET = main
INCLUDEPATH += /usr/local/include .
QT += coreSOURCES += main.cpp
@Then try building.
14/19