Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
579 views
in Technique[技术] by (71.8m points)

c - statically linking ncurses libraries with cmake

I'm a noob when it comes to cmake, but I would like to statically link ncurses to my program so I could run my program on a computer that doesn't have any of the right packages installed (no setup).

The program is called wordgame and I'm linking some other c files (like color_init). The include directory has all my header files.

This is currently my CMakeLists.txt:

cmake_minimum_required(VERSION 3.17)
project(wordgame C)

set(CMAKE_C_STANDARD 99)
add_compile_options(-g -Wall -Wextra -pedantic)

set(INCLUDE_DIR include)
include_directories (${INCLUDE_DIR})     

find_package(Curses REQUIRED)
include_directories(${CURSES_INCLUDE_DIR})
add_executable(wordgame main.c color_init.c)
target_link_libraries(${PROJECT_NAME} ${CURSES_LIBRARIES})

target_link_libraries seems to dynamically link ncurses since I get the following error:

./wordgame: error while loading shared libraries: libncursesw.so.6: cannot open shared object file: No such file or directory

So how would I statically link ncurses to my program using cmake?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
等待大神答复

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...