运行环境:ubuntu 14.04 cmake:3.3 glib:2.19
我想要在下面的hello子目录中使用glibc库,请问应该怎么写该子目录下的CMakeLists.txt?如果使用find_library的话,要怎么写?
我的项目目录
laolang@laolang-Lenovo-G470:~/code/cmake/eclipse/HelloCMake$ tree
.
├── bin
├── CMakeLists.txt
├── include
│ ├── hello.h
│ └── sum.h
├── lib
│ └── libsum.a
└── src
├── CMakeLists.txt
├── hello
│ ├── CMakeLists.txt
│ └── hello.c
├── main
│ ├── CMakeLists.txt
│ └── main.c
└── sum
├── CMakeLists.txt
└── sum.c
7 directories, 11 files
laolang@laolang-Lenovo-G470:~/code/cmake/eclipse/HelloCMake$
其中sum子目录只用到了标准库,也生成.a文件了,那么我在hello子目录中使用了glibc库,要如何写txt文件?我的hello子目录中txt文件
# hello CMakeLists.txt
# 设置编译器
set(CMAKE_C_COMPILER gcc)
# glibc 库目录
set(GLIBC_INCLUDE /usr/include/glib-2.0 /usr/lib/x86_64-linux-gnu/glib-2.0/include)
#glibc 库文件
set(GLIBC_LIB glib-2.0)
# 源文件列表
set(SRC_LIST hello.c)
# 头文件目录
include_directories(${HELLO_SOURCE_DIR}/include)
# 设置生成的库文件的路径
set(LIBRARY_OUTPUT_PATH ${HELLO_SOURCE_DIR}/lib)
# 所需要的库文件的目录
link_directories($(GLIBC_INCLUDE))
# 生成的库文件
add_library(hello STATIC ${SRC_LIST})
# 需要链接的库文件
target_link_libraries(hello $(GLIBC_LIB))
make hello人错误信息:
laolang@laolang-Lenovo-G470:~/code/cmake/eclipse/HelloCMake/build$ make hello
Scanning dependencies of target hello
[ 50%] Building C object src/hello/CMakeFiles/hello.dir/hello.o
/home/laolang/code/cmake/eclipse/HelloCMake/src/hello/hello.c:2:17: fatal error: glib.h: 没有那个文件或目录
#include<glib.h>
^
compilation terminated.
make[3]: *** [src/hello/CMakeFiles/hello.dir/hello.o] 错误 1
make[2]: *** [src/hello/CMakeFiles/hello.dir/all] 错误 2
make[1]: *** [src/hello/CMakeFiles/hello.dir/rule] 错误 2
make: *** [hello] 错误 2
laolang@laolang-Lenovo-G470:~/code/cmake/eclipse/HelloCMake/build$
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。