Witam
miałem w kdevelopie projekt qt.
Wyrzeźbiłem sobie cudowny plik .pro i wszystko smigało.
Problem pojawil sie gdy zachciało i sie użyć openssla i linker
rzucal błąd - brakowało mu definicji funkcji openssla których używalem.
nie wiedząc jak w .pro dopisać dodatkowe opcje linkera, postanowilem użyć
cmake. Szybko przejrzalem pare przykładów i potworzylem pliki jakie było
trzeba. Tylko ze teraz nie działa mi debug, przynajmniej nie tak jak
powinien - ustawilem CMAKE_BUILD_TYPE=Debug i niby moge debugować program,
ale każdorazowa próba przejscia jedna linijke dalej powoduje wejscie w
funkcje (czyli jakbym zamiast F10 naciskał F11).
Objawia sie to tym, że w każdej linii w której znajduje się jakis Q obiekt z
wywołaniem jego metody, po nacisnieciu f10 otwiera mi sie .h plik z
deklaracjÄ… owej metody.
tak wygląda plik CMakeList.txt w katalogu głównym:
PROJECT(talker)
#if you don't want the full compiler output, remove the following line
SET(CMAKE_VERBOSE_MAKEFILE ON)
#add definitions, compiler switches, etc.
ADD_DEFINITIONS(-Wall -O2)
cmake_minimum_required(VERSION 2.6)
if (NOT CMAKE_BUILD_TYPE)
set (CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build,
options are: Debug Release RelWithDebInfo." FORCE)
endif (NOT CMAKE_BUILD_TYPE)
set (QT_MIN_VERSION "
4.2.0")
find_package (Qt4 REQUIRED)
set(QT_USE_QTXML 1)
set(QT_USE_QNETWORK 1)
set(QT_USE_QT3SUPPORT 1)
set(QT_USE_QTWEBKIT 1)
include(${QT_USE_FILE})
include_directories (${CMAKE_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}
${QT_INCLUDES})
add_subdirectory(talker)
i tu z katalogu talker:
set (SOURCES
config.cpp
main.cpp
server.cpp
talker.cpp
userslist.cpp
)
set (MOC_SOURCES
config.h
server.h
talker.h
userslist.h
)
qt_wrap_cpp (talker MOC_FILES ${MOC_SOURCES})
add_executable (talker ${talker} ${SOURCES} ${MOC_FILES})
target_link_libraries (talker ${QT_LIBRARIES})