[odb-users] First project: can't find QtCore/QString on OSX
adnan at rihan.fr
Mon Jun 9 13:18:18 EDT 2014
It’s working, thank you.
Do you need anything from me to work/understand/test something about framework directory structures ?
Le 9 juin 2014 à 12:21:04, Boris Kolpackov (boris at codesynthesis.com) a écrit:
> Hi Adnan,
> Adnan RIHAN writes:
> > odb -d sqlite -p qt --generate-query Category.hpp
> > /Users/Max13/Dev/System/ODB/Compiler/odb-2.3.0-i686-macosx/lib/odb/i686-apple-darwin8/lib/gcc/../../include/odb/qt/basic/sqlite/default-mapping.hxx:8:26:
> fatal error: QtCore/QString: No such file or directory
> > So I’ve tried many combinations, including:
> > http://codesynthesis.com/pipermail/odb-users/2014-May/001862.html,
> > adding -I to the lib dir or to the Headers’ framework dir, but nothing
> > is working, QtCore/QString isn’t found.
> Ok, the problem here is that the private copy of GCC that is used by
> the ODB compiler is not built with support for frameworks (so we
> cannot use -F or -framework). This is something that I am hoping to
> try and address in the future.
> So in the meantime we need to try to come up with the equivalent -I
> options (ODB compiler only needs headers so we don't need to worry
> about libraries). Based on my understanding of the framework layout
> that you have showed earlier, you will need to make a symlink in
> order to re-create the standard Qt header hierarchy. Since it will
> only be used by ODB, a good place to create this symlink is in the
> ODB compiler's etc/ subdirectory:
> cd /Users/Max13/Dev/System/ODB/Compiler/odb-2.3.0-i686-macosx/etc
> ln -s /Users/Max13/Qt/5.2.1/clang_64/lib/QtCore.framework/Headers ./QtCore
> Then open the 'default.options' file in this directory and add these
> two lines:
> -I /Users/Max13/Dev/System/ODB/Compiler/odb-2.3.0-i686-macosx/etc
> -I /Users/Max13/Dev/System/ODB/Compiler/odb-2.3.0-i686-macosx/etc/QtCore
> With these two changes your original command line should work fine.
Cordialement, Adnan RIHAN.
Directeur-Gérant de Eolis-Software, société de services informatiques.
$this->set("Mobile", "+33 (0) 6 78 62 26 20");
More information about the odb-users