Cmake添加LDLIBS相关参数
编译的项目中Makefile存在
LDLIBS += -lpng -ljpeg
但是不知道在makelist中该怎么写,在stackflow查询得知
set(CMAKE_EXE_LINKER_FLAGS "-ljpeg ${CMAKE_EXE_LINKER_FLAGS}")
set(CMAKE_EXE_LINKER_FLAGS "-lpng ${CMAKE_EXE_LINKER_FLAGS}")
这里注意几点:
- set在添加参数是,若要保存之前的参数,应该把
${变量}
,加在里面。 - set的参数应该添加引号,否则会出现多一个分号的错误
CMAKE_EXE_LINKER_FLAGS
与makefile中的LDLIBS
相对应
这里仅仅提到了LDLIBS
,若有类似的参数,可参照上面修改
Cmake中直接执行Makefile
Clion只支持Cmake编译,当我们想直接写makefile时,可采用以下方式:
makelist添加以下内容
cmake_minimum_required(VERSION 3.6)
project(gues)
message("hi\n")
message(${gues_SOURCE_DIR})
message(${PROJECT_BINARY_DIR})
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
add_custom_target(gues COMMAND make -C ${gues_SOURCE_DIR})
其中gues
为为项目名
此种方式原理是,add_custom_target
直接执行了make -C 目录
命令
该命令为跳转到该目录执行make
,所以在该目录下应存在makefile文件。