CMake не может найти библиотеку QtNetwork - PullRequest
2 голосов
/ 07 ноября 2011

Я работаю над проектом на базе 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 голосов
/ 08 ноября 2011

Ваш вызов 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 )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...