Project(CmakeTest)
aux_source_directory(. src)
#add_executable(project1 ${src}) #编译为可执行程序
#add_library(project1 ${src}) #编译为静态库
#add_library(project1 SHARED ${src}) #编译为动态链接库
#add_executable(project1 MACOSX_BUNDLE ${src}) #编译为可执行程序 *.app
#add_library(project1 MODULE ${src}) #编译为程序资源包 *.bundle
#set_target_properties(project1 PROPERTIES BUNDLE TRUE)
#add_library(project1 SHARED ${src}) #编译为程序资源包 *.framework
#set_target_properties(project1 PROPERTIES FRAMEWORK TRUE)
SET(CMAKE_CXX_FLAGS_DEBUG
"$ENV{CXXFLAGS} -O0 -Wall -g -ggdb"
) # Debug模式下的编译指令
SET(CMAKE_CXX_FLAGS_RELEASE
"$ENV{CXXFLAGS} -O3 -Wall"
) # Release模式下的编译指令
#SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/../bin) #设置可执行文件的输出目录
#SET(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/../lib) #设置库文件的输出目录
#set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${PROJECT_SOURCE_DIR}/bin)
#set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${PROJECT_SOURCE_DIR}/../bin)
#上面两条语句分别设置了Debug版本和Release版本可执行文件的输出目录,
#一旦设置上面的属性,在任何环境下生成的可执行文件都将直接放在你所设置的目录.
#四. set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_DEBUG ${PROJECT_SOURCE_DIR}/../lib)
# set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE ${PROJECT_SOURCE_DIR}/../lib)
#上面两条语句分别设置了Debug版本和Release版本库文件的输出目录,
#一旦设置上面的属性,在任何环境下生成的库文件都将直接放在你所设置的目录.
cmake_minimum_required(VERSION 3.11)Project(CmakeTest)aux_source_directory(. src)#add_executable(project1 ${src}) #编译为可执行程序#add_library(project1 ${src}) #编译为静态库add_library(project1 SH...
set(
CMAKE
_ARCHIVE_OUTPUT_DIRECTORY ${
CMAKE
_BINARY_DIR}/../bin)
3.
动态库
输出
路径
(注意这个放在最后):
SET_TARGET_PROPERTIES(dllname PROPERTIES RUNTIME_O
方式1.两种设置方式
set(
CMAKE
_ARCHIVE_OUTPUT_DIRECTORY ${
CMAKE
_BINARY_DIR}/lib)
set(
CMAKE
_LIBRARY_OUTPUT_DIRECTORY ${
CMAKE
_BINARY_DIR}/lib)
set(
CMAKE
_RUNTIME_OUTPUT_DIR
//
CMAKE
语句注释为# 但是代码块没有找到
CMAKE
直接用c的代码块//注释了
//根据不同平台给CURRENT_SYSTEM命名
IF(
CMAKE
_SYSTEM_NAME MATCHES "Linux")
set(CURRENT_SYSTEM Linux)
ELSEIF(
CMAKE
_SYSTEM_NAME MATCHES "Windows")
set(CURRENT_SYSTEM Windows)
ENDIF()
//设置所依赖库头文件
目录
和库
目录
set(SOURCE_HEAD ${
CMAKE
在
CMake
中,可以通过`
CMAKE
_LIBRARY_OUTPUT_DIRECTORY`命令来
指定
动态库
(共享库)的
输出
路径
。具体步骤如下:
1. 在
CMake
Lists.txt文件中,使用`set`命令来设置`
CMAKE
_LIBRARY_OUTPUT_DIRECTORY`变量,
指定
动态库
输出
路径
。例如,假设我们希望将
动态库
输出
到build
目录
下的lib文件夹中,可以在
CMake
Lists.txt中添加如下代码:
```
cmake
set(
CMAKE
_LIBRARY_OUTPUT_DIRECTORY ${
CMAKE
_CURRENT_BINARY_DIR}/lib)
2. 然后,
编译
项目时,
CMake
会根据设置的
输出
路径
和目标类型自动生成
动态库
,并将其存储在
指定
的
输出
路径
下。通过以下命令进行
编译
:
```shell
mkdir build
cd build
cmake
..
在
编译
完成后,
动态库
将会生成在
指定
的
输出
路径
下的lib文件夹内。
如果希望在多个平台上设置不同的
输出
路径
,可以根据平台类型来进行条件判断,例如:
```
cmake
if(WIN32)
set(
CMAKE
_LIBRARY_OUTPUT_DIRECTORY ${
CMAKE
_CURRENT_BINARY_DIR}/lib/win32)
elseif(APPLE)
set(
CMAKE
_LIBRARY_OUTPUT_DIRECTORY ${
CMAKE
_CURRENT_BINARY_DIR}/lib/macos)
elseif(UNIX)
set(
CMAKE
_LIBRARY_OUTPUT_DIRECTORY ${
CMAKE
_CURRENT_BINARY_DIR}/lib/linux)
endif()
这样,根据不同平台的设置,生成的
动态库
将会分别
输出
到相应的
路径
下。
总之,通过在
CMake
Lists.txt文件中设置`
CMAKE
_LIBRARY_OUTPUT_DIRECTORY`变量,我们可以很方便地
指定
动态库
的
输出
路径
,使得生成的
动态库
能够按照我们的需求存储在
指定
的位置上。
java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
invalid iOS deployment version '-miphoneos-version-min=11.3', iOS 10 is the maximum deployment targe