运行环境: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$
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。