LINUX.ORG.RU

cmake Threads::Threads

 


0

1

Очередной дурацкий вопрос, но гугль не помог мне.

Возможно что-то из Qt5 генерит -lThreads::Threads и в результате сборка падает с ошибкой

/usr/bin/ld: cannot find -lThreads::Threads

Что можно сделать, чтобы это исправить?

Сгенерированные от Qt правила имеют вид

set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)
find_package(Qt5Core)
...
target_link_libraries(${PROJECT_NAME} Qt5::Core)

Так у них в примерах совсем не так :

cmake_minimum_required(VERSION 3.1.0)

project(helloworld)

set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUIC ON)

if(CMAKE_VERSION VERSION_LESS "3.7.0")
    set(CMAKE_INCLUDE_CURRENT_DIR ON)
endif()

find_package(Qt5 COMPONENTS Widgets REQUIRED)

add_executable(helloworld
    mainwindow.ui
    mainwindow.cpp
    main.cpp
    resources.qrc
)

target_link_libraries(helloworld Qt5::Widgets)
Silerus ★★★★
()

find_package(Threads) должно быть, так или иначе. Или в клиентской сборочной системе явно, или в Qt-шном Config.cmake через find_dependency().

d_a ★★★★★
()
Ответ на: комментарий от Silerus

Так у них в примерах совсем не так :

У меня консольное приложение.

cppprogger
() автор топика
Последнее исправление: cppprogger (всего исправлений: 1)
Ответ на: комментарий от d_a

find_package(Threads)

Спасибо, Thread действительно есть в зависимостях.

Ситуация у меня странная, из консоли все собирается

mkdir build
cd build
cmake .. 
make

а проблемы, когда я использую QtCreator.

cppprogger
() автор топика
Последнее исправление: cppprogger (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.