CMake无法生成可执行文件,一直生成库文件
CMakeLists的内容如下,一直生成的main是库文件,而不是可执行文件。本人是在进行鸿蒙的交叉编译的时候遇到,归结为cmake属性的差异。原内容如下:
# 设置最低CMake版本要求
cmake_minimum_required (VERSION 2.8.0)
# 设置项目名称
project(SimpleProject)
# 指定C++标准
set(CMAKE_CXX_STANDARD 11)
# 添加可执行文件
add_executable(main main.cpp)
最后增加一句设置,
set_target_properties(main PROPERTIES LINK_FLAGS "-Wl,-no-pie") # 强制生成可执行文件
即可,如下
# 设置最低CMake版本要求
cmake_minimum_required(VERSION 2.8.0)
# 设置项目名称
project(SimpleProject)
# 指定C++标准
set(CMAKE_CXX_STANDARD 11)
# 添加可执行文件
add_executable(main main.cpp)
set_target_properties(main PROPERTIES LINK_FLAGS "-Wl,-no-pie") # 强制生成可执行文件