我正在处理一个基于QT-CMake的项目,其中包含多个共享库。不幸的是,当我尝试编译需要QtNetwork的类时,会出现找不到QNetworkReply的错误。我的CMake文件如下:
project(Geo CXX)
cmake_minimum_required(VERSION 2.8)
find_package(Qt4 4.7.3 REQUIRED QtCore QtNetwork)
message(STATUS "Geo module build")
SET(QT_USE_QTNETWORK true)
INCLUDE(${QT_USE_FILE})
INCLUDE_DIRECTORIES(${CMAKE_BINARY_DIR} ${QT_INCLUDE_DIR} ${QT_QTNETWORK_INCLUDE_DIR})
ADD_DEFINITIONS(${QT_DEFINITIONS})
set(geo_lib_src google.cpp Tracker.cpp Coordinates.h)
set(geo_lib_headers google.h)
qt4_wrap_cpp(geo_lib_moc ${geo_lib_headers})
add_library(Geo SHARED ${geo_lib_src} ${geo_lib_moc} )
target_link_libraries(Geo ${QT_LIBRARIES} ${QT_QTNETWORK_LIBRARY})
此外,当我试图在其他库中使用该库时,我收到了无法解析函数名称的消息,但是我已经将其放在那里。
add_dependencies(Core Model Geo)
有什么问题吗?
${QT_QTNETWORK_LIBRARAY}
和${QT_QTNETWORK_INCLUDE_DIR}
。只需使用SET(QT_USE_QTNETWORK true)
,一切都能正常工作。感谢@myky的印象。 - user3085931