Hi,
I have a program where I created an database driver (embdriver) based on the QMYSQLDriver provided by QT. The file has the following include
#include "embdriver.moc"
#include "embdriver.moc"
To copy to clipboard, switch view to plain text mode
Building my application with qmake does not generate a problem but using cmake I get the error:
fatal error: embdriver.moc: No such file or directory
In the CMakeList.txt I have: qt4_automoc(${GOBLET_createdb_SOURCES}) and cmake creates embdriver.moc but I don't know the why I get the error!
This is the full CMakeList.txt
SET(GOBLET_createdb_SOURCES main.cpp ../common/embdriver.cpp ../common/mydbconn.cpp)
SET(GOBLET_createdb_HEADERS ../common/embdriver.h ../common/mydbconn.h)
QT4_WRAP_CPP(GOBLET_createdb_HEADERS_MOC ${GOBLET_createdb_HEADERS})
SET(GOBLET_createdb_RESOURCES mysqlFiles.qrc)
qt4_automoc(${GOBLET_createdb_SOURCES})
QT4_ADD_RESOURCES(GOBLET_createdb_RESOURCES_RCC ${GOBLET_createdb_RESOURCES})
ADD_EXECUTABLE(goblet-createdb ${GOBLET_createdb_SOURCES} ${GOBLET_createdb_HEADERS} ${GOBLET_createdb_HEADERS_MOC} ${GOBLET_createdb_RESOURCES_RCC})
INCLUDE_DIRECTORIES(../common . ..)
IF(NOT WIN32)
TARGET_LINK_LIBRARIES(goblet-createdb ${QT_LIBRARIES} ${MYSQL_LIBRARY} ${AIO_LIBRARY} ${CRYPT_LIBRARY})
ELSE (NOT WIN32)
TARGET_LINK_LIBRARIES(goblet-createdb ${QT_LIBRARIES} ${MYSQL_LIBRARY})
ENDIF (NOT WIN32)
INSTALL_PROGRAMS(/bin FILES goblet-createdb)
SET(GOBLET_createdb_SOURCES main.cpp ../common/embdriver.cpp ../common/mydbconn.cpp)
SET(GOBLET_createdb_HEADERS ../common/embdriver.h ../common/mydbconn.h)
QT4_WRAP_CPP(GOBLET_createdb_HEADERS_MOC ${GOBLET_createdb_HEADERS})
SET(GOBLET_createdb_RESOURCES mysqlFiles.qrc)
qt4_automoc(${GOBLET_createdb_SOURCES})
QT4_ADD_RESOURCES(GOBLET_createdb_RESOURCES_RCC ${GOBLET_createdb_RESOURCES})
ADD_EXECUTABLE(goblet-createdb ${GOBLET_createdb_SOURCES} ${GOBLET_createdb_HEADERS} ${GOBLET_createdb_HEADERS_MOC} ${GOBLET_createdb_RESOURCES_RCC})
INCLUDE_DIRECTORIES(../common . ..)
IF(NOT WIN32)
TARGET_LINK_LIBRARIES(goblet-createdb ${QT_LIBRARIES} ${MYSQL_LIBRARY} ${AIO_LIBRARY} ${CRYPT_LIBRARY})
ELSE (NOT WIN32)
TARGET_LINK_LIBRARIES(goblet-createdb ${QT_LIBRARIES} ${MYSQL_LIBRARY})
ENDIF (NOT WIN32)
INSTALL_PROGRAMS(/bin FILES goblet-createdb)
To copy to clipboard, switch view to plain text mode
I created a build directory for my application:
my_application/build
then I run
cd build
cmake ..
make
cd build
cmake ..
make
To copy to clipboard, switch view to plain text mode
and I see that embdriver.moc was created in my_application/build/ my_application
So why it cannot find it?
Many thanks for your help
Carlos.
Bookmarks