[Solved] Why the compiler can't search the sub-dir of the standard include-search-path?
-
Hi, every one!
I'm just building Qt 5.4.1 with MinGW 4.9.2 in MSYS2. for the support of glib, I download the glib library of MinGW in MSYS2, and install it in the MinGW's default include-and-library paths with MSYS2(/MinGW64/include and /MinGW64/lib). But after installing library, the header and library files of glib are stored in a sub-dir which is named with 'glib-2.0' of every include and library dirs.
While compiling the Qt, I passed the parameters to ./configure like this:-opensource -glib -I ./glib-2.0 -L ./glib-2.0
But when compiling, I got the following error message :
In file included from glib.cpp:36:0:
C:/Qt/msys64/mingw64/include/glib-2.0/glib.h:31:25: fatal error: glib/garray.h: No such file or directory
#include <glib/garray.h>
^
compilation terminated.
Makefile:161: recipe for target 'glib.o' failed
make: *** [glib.o] Error 1
Glib disabled.
Glib support cannot be enabled due to functionality tests!
Use of pkg-config is not enabled, maybe you want to pass -force-pkg-config?
Turn on verbose messaging (-v) to /d/myprojects/qtc/src/qtbase/configure to see the final report.
If you believe this message is in error you may use the continue
switch (-continue) to /d/myprojects/qtc/src/qtbase/configure to continue.I have checked the dir /MinGW64/include, and found the file 'garray.h' and many other header files are stored in dir 'glib-2.0/glib/'. So I thought the compiler should be able to find the specified file. But why it can't ? and how to resolve it ?
-
Are you sure './' in your include paths (-I and -L) is the right directory to start in?
-
@sierdzio Thanks for your replying!
Actually, I'm not sure './' is correct. But if I doesn't pass parameters to ./configure with '-I ./glib-2.0' like above mentioned, I'll got an error message that says 'can not find glib.h: No such file or directory'. So I think './' should worked, as descripted above , partially.
So, what's wrong with it? Can you help me? Thx. -
'./' means "current directory", so the directory where you run configure. This is probably the same directory where your Qt source code is located - it does not contain glib. So I would advise to pass a proper, non-relative path to glib there instead.
-
You are welcome. Happy coding