내 프로그램은 giblib 및 Imlib2 라이브러리를 사용하며 cmake로 작성되었습니다.cmake를 사용하여 독립 실행 형 프로그램을 만들고 싶습니다.
내 컴퓨터에서는 완벽하게 작동하지만 다른 컴퓨터에서는 작동하지 않습니다.
나는 내 프로그램이 필요로하는 모든 라이브러리를 설치했지만 다른 라이브러리는 설치하지 않는다고 생각합니다.
내 목표는 독립 실행 형 프로그램을 만드는 것입니다. (다른 라이브러리를 추가로 설치하지 않아도됩니다.)
cmake 파일에는 무엇을 추가해야합니까?
:projectDef.cmake 소스 코드
file (GLOB PLATFORM RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
X11/[^.]*.cpp
X11/[^.]*.h
X11/[^.]*.cmake
)
SOURCE_GROUP(X11 FILES ${PLATFORM})
add_definitions(
)
set (SOURCES
${SOURCES}
${PLATFORM}
)
add_x11_plugin(${PROJECT_NAME} SOURCES)
target_link_libraries(${PROJECT_NAME}
${PLUGIN_INTERNAL_DEPS}
)
include_directories(/usr/include/giblib)
include_directories(/usr/include/X11)
target_link_libraries(MyProject X11)
target_link_libraries(MyProject Imlib2)
target_link_libraries(MyProject giblib)
CMakeList.txt 소스 코드
cmake_minimum_required (VERSION 2.6)
set (CMAKE_BACKWARDS_COMPATIBILITY 2.6)
set(BUILD_SHARED_LIBS OFF)
set(CMAKE_EXE_LINKER_FLAGS "-static")
Project(${PLUGIN_NAME})
file (GLOB GENERAL RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
[^.]*.cpp
[^.]*.h
[^.]*.cmake
)
include_directories(${PLUGIN_INCLUDE_DIRS})
SET_SOURCE_FILES_PROPERTIES(
${GENERATED}
PROPERTIES
GENERATED 1
)
SOURCE_GROUP(Generated FILES
${GENERATED}
)
SET(SOURCES
${GENERAL}
${GENERATED}
)
include_platform()
http://stackoverflow.com/questions/3762057/cmake-how-to-produce-binaries-as-static-as-possible? – Lalaland