Solved How can I make changes to the effective qmake call?
-
Hi,
one of the samples shows the Effective make call but I need to change its contents (the contents of the make file...). Specifically I need to pass -std=c++14.
How is this done? Where the make file?
Thanks,
Juan -
Hi! You can add
CONFIG += c++14
to your *.pro file. -
Ok, I added CONFIG += c++14 to my *.pro file, but now I am getting compiler errors like "/Users/juandent/Qt5.5.1/5.5/clang_64/lib/QtCore.framework/Headers/qstring.h:739: error: no type named 'u16string' in namespace 'std'
static inline QString fromStdU16String(const std::u16string &s);"
~~~~~^
in code like:#if defined(Q_COMPILER_UNICODE_STRINGS) || defined(Q_QDOC)
static inline QString fromStdU16String(const std::u16string &s);
inline std::u16string toStdU16String() const;
static inline QString fromStdU32String(const std::u32string &s);
inline std::u32string toStdU32String() const;
#endif?? This does not occur if I use CONFIG += c++11
Thanks,
Juan -
What is strange about this error is that even if I #include<string>, the compiler complains that u16string does not exist in std namespace...
which is false!!
Is something corrupt??Any ideas?
Juan -
Hi,
Are you running OS X ? What version of Qt ?
-
Hi,
Qt Creator version 3.5.1 (open source) based on Qt 5.5.1 (Clang 6.0 (Apple), 64 bit).
OS X version 10.11.2
Thanks,
Juan -
Also Qt 5.5.1 ? Or 5.6.0 Beta ?
Can you show your .pro file ?
-
Hi,
Yes Qt 5.5.1
The .pro is:
TEMPLATE = app
INCLUDEPATH += .HEADERS = bookdelegate.h bookwindow.h initdb.h
RESOURCES = books.qrc
SOURCES = bookdelegate.cpp main.cpp bookwindow.cpp
FORMS = bookwindow.uiCONFIG += c11
CONFIG += c++14QT += sql widgets widgets
target.path = $$[QT_INSTALL_EXAMPLES]/sql/books
INSTALLS += targetwince {
CONFIG(debug, debug|release):sqlPlugins.files = $$QT_BUILD_TREE/plugins/sqldrivers/d4.dll
CONFIG(release, debug|release):sqlPlugins.files = $$QT_BUILD_TREE/plugins/sqldrivers/[^d]4.dll
sqlPlugins.path = sqldrivers
DEPLOYMENT += sqlPlugins
} -
It should be
CONFIG += c++11
Also check that you are using the clang mkspec
-
Hi,
Yes with c++11 it works but I want to use c++14, and I know Xcode 7.2 supports c++14 ... since under the covers the compiler is doing the compiling, why can't I instruct it to work in C++ 14 mode?
What do you mean by clang mkspec? Where do I find that?
Thank you very much for your help so far!!
Juan -
Go to Qt Creator's preferences and take a look at the Kit, you should see there the mkspec. If empty look at the Qt Version used for the Kit but AFAIK, it should be clang by default.
-
what about using C++14? -- is it not possible?
Juan
-
It should be yes. Usually only "CONFIG += c++14" should be enough.
-
Qt mkspec is empty but Qtversion is Qt 5.5.1 clang 64bit
?? Still have the problem
Thanks
-
Hi Qt Champ!
I found the answer finally!!
The solution is: IN ORDER to use C++14 you must also enable C++11, like so:
CONFIG+= c++11
CONFIG+= c++14That solves all the problems!!
Thanks for the help!
Juan
-
Great !
Then please mark the thread as solved using the "Topic Tool" button so other forum users may know a solution has been found :)