簡體   English   中英

將TGUI庫與cmake鏈接

[英]Linking the TGUI library with cmake

很抱歉打擾你,但是我在使用Cmake包含庫時遇到了問題。 我想在我的sfml項目中包含tgui庫,但我不知道該怎么做。 我有點發現如何包含sfml庫,但我找不到如何包含tgui庫,我嘗試和搜索的所有內容都失敗了。

在他們的網站上描述了如何使用它,而不是如何實現它。

這是我項目的cmake文件(直到sfml鏈接):

cmake_minimum_required(VERSION 2.8)    
project(AntWorld)    

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")    

set(SOURCE_FILES "main.cpp")    
add_executable(AntWorld ${SOURCE_FILES})    

# include_directories("${PROJECT_SOURCE_DIR}/*")    


# Define sources and executable    

set(EXECUTABLE_NAME "Run_AntWorld")    

add_executable(${EXECUTABLE_NAME} main.cpp)    



# Detect and add SFML    
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake_modules" ${CMAKE_MODULE_PATH})    
find_package(SFML 2 REQUIRED system window graphics network audio)    
if(SFML_FOUND)    
    include_directories(${SFML_INCLUDE_DIR})    
    target_link_libraries(${EXECUTABLE_NAME} ${SFML_LIBRARIES})    

endif()    

好吧,那是迄今為止的工作代碼。

我試圖改變它的描述方式

www.cmake.org/Wiki/CMake/Tutorials/How_to_create_a_ProjectConfig.cmake_file

這是最有前途的帖子,但是,不知怎的,我無法找到他們實際嘗試解釋的內容,因為他們描述了根本沒有包含在他們的層次結構中的路徑和/或文件(或者我只是沒有得到它,但錯誤哪里有哪種方式)。

我嘗試過的其他一切都失敗了,就像這個一樣壯觀。

啊,對於我試圖鏈接的圖書館:

https://github.com/texus/TGUI

您也可以在他們的網站( https://tgui.eu/ )上下載它,我嘗試使用版本0.6.7(非預編譯版本),因為我在Linux上使用Clion。 如果這是問題,我該怎么做才能讓它發揮作用?

無論哪種方式,每一個幫助都表示贊賞,我希望我不打擾你做一些重要的事情。

鏈接到TGUI的方式與鏈接到SFML的方式幾乎相同。

在您的cmake_modules文件夾中,您可能已經有一個FindSFML.cmake文件。 你也必須在那里復制FindTGUI.cmake(它可以在TGUI_Path / cmake / Modules中找到)。

為了找到TGUI庫,您只需調用find_package

find_package(TGUI 0.6 REQUIRED).

鏈接看起來像這樣

target_link_libraries(target ${TGUI_LIBRARY} ${SFML_LIBRARIES})

完整示例:

cmake_minimum_required(VERSION 2.8)
project(TestProject)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake_modules" ${CMAKE_MODULE_PATH})

find_package(SFML 2 REQUIRED system window graphics network audio)    
find_package(TGUI 0.6 REQUIRED)

if(NOT SFML_FOUND)
    message(FATAL_ERROR "Could not find SFML")
endif()

if(NOT TGUI_FOUND)
    message(FATAL_ERROR "Could not find TGUI")
endif()

add_executable(TestProject main.cpp)
target_link_libraries(TestProject ${TGUI_LIBRARY} ${SFML_LIBRARIES})

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM