CMake找不到QtNetwork库

时间:2011-11-07 19:48:19

标签: c++ qt network-programming cmake

我正致力于基于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)

有什么不对?

1 个答案:

答案 0 :(得分:0)

您的find_package调用看起来与我在某个项目中看到的不同:

FIND_PACKAGE( Qt4 4.6.0 COMPONENTS QtMain QtCore QtGui QtSql QtXml QtNetwork REQUIRED )

所以我试试

FIND_PACKAGE( Qt4 4.7.3 COMPONENTS QtCore QtNetwork REQUIRED )