cmake链接xlib目录c ++

时间:2016-10-05 00:48:57

标签: c++ linux ubuntu cmake clion

我正在尝试编译一个使用xlib和cmake的c ++程序。但是,我遇到了一个问题,包括并在cmake文件中链接xlib库。

这是我得到的错误。

[defaults]
host_key_checking = False

当我只使用命令行进行编译时,它的工作正常。

我使用此命令(g ++ main.cpp -L / usr / X11R6 / lib -lX11)

这是我的cmake文件。

[type="checkbox"]+label {
    display: inline;
}

2 个答案:

答案 0 :(得分:2)

在您的情况下,您忘记指定cmake用于链接您的应用程序的库(target_link_librarieslink_libraries)。

但是,为什么不让cmake自己找到所需的路径,库和包含?我建议你使用find_package(X11)。在您的情况下,您可以尝试:

cmake_minimum_required(VERSION 3.6)
project(project1)

set(CMAKE_CXX_STANDARD 11)  # for c++11

find_package(X11 REQUIRED)
link_libraries(${X11_LIBRARIES})
include_directories(${X11_INCLUDE_DIR})

set(SOURCE_FILES main.cpp)
add_executable(project1 ${SOURCE_FILES})

答案 1 :(得分:0)

我将无法解释原因(如果您有任何想法,请毫不犹豫地评论我的答案),但就我而言,我必须使用以下命令链接X11库:

target_link_libraries( DisplayImage "-lX11" )

至少在cmake的3.5.1版本中有效。