mkdir build cd build cmake .. 运行make命令,编译生成静态库: 在生成Makefile文件后,运行以下命令来编译你的项目并生成静态库。 sh make 编译完成后,你应该会在项目目录(或你指定的构建目录中)找到一个名为libMyStaticLibrary.a的静态库文件。 通过以上步骤,你就可以使用CMake来编译生成静态库了。记得根据...
# 通过在主工程文件CMakeLists.txt中修改ADD_SUBDIRECTORY (lib) 指令来指定一个编译输出位置; # 指定本工程中动态库libhello.so生成的位置,即 build/lib; ADD_SUBDIRECTORY(lib) # 也可以通过变更为其他的位置,如 # ADD_SUBDIRECTORY(lib lib_new) #则,动态库libhello.so生成的位置变为 build/lib_new; 在...
生成的动态库存放在cmake01/build/bin 目录下,这是cmake01/CMakeLists.txt中代码导致的。 开始构建 进入build目录,并执行cmake生成makefile文件,最后再执行make生成动态库文件 jyhlinux@ubuntu:~/share/makefile_cmake/cmake01/lib$ cd ../build/ jyhlinux@ubuntu:~/share/makefile_cmake/cmake01/build$ c...
在这个文件中,我们需要定义项目名称、所需的源文件、编译选项等。同时,我们还需要指定编译目标的类型,包括静态库、动态库或可执行文件等。 3. 配置CMake 在CMakeLists.txt文件配置好后,我们需要在命令行窗口中切换到项目目录,并执行以下命令来配置CMake: ``` mkdir build cd build cmake .. ``` 这个命令会...
target_include_directories(mymathapp PRIVATE ${CMAKE_SOURCE_DIR}/include) 四、同时编译静态库与动态库 同样使用上面的指令,我们在支持动态库的基础上再为工程添加一个静态库,按照一般的习 惯,静态库名字跟动态库名字应该是一致的,只不过后缀是.a 罢了。
【CMake】编译和链接静态库和动态库 项目结构 工作原理 编译库 项目结构 .├─include │ └─myClass.h ├─src │ ├─CMakeLists.txt │ └─myClass.cpp └─CMakeLists.txt 工作原理 编译库 命令add_library(<lib_name> STATIC <file>.h <file>.cpp) 用于将指定的源码编译成库 <lib_name> 是...
在开始介绍如何使用CMake编译跨平台的静态库之前,先讲讲我在没有使用CMake之前所趟过的坑。因为很多开源的程序,比如png,都是自带编译脚本的。我们可以使用下列脚本来进行编译: . / configure -- prefix = / xxx / xx -- enable - static = YES
二、编译静态库 cd opencv-4.2/ mkdir static_release cd static_release/ cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_SHARED_LIBS=OFF -D BUILD_SHARED_LIBS=NO -D BUILD_PNG=ON -D BUILD_JASPER=ON -D BUILD_JPEG=ON -D BUILD_TIFF=ON -D BUILD_ZLIB=ON...
add_library中的第二个参数 STATIC 表示是静态库,如果不加STATIC的话比如 add_library(xlog xlog.cpp) 就是默认编译动态库,如果要编译静态库再通过cmake的预制变量来控制。 STATIC 替换为SHARED 就是指定编译为动态库,例如:add_library(xlog SHARED xlog.cpp) 。 如果是Linux动态库代码不需要调整,Windows动态库需...
CMake项目结构 首先,我们需要创建一个简单的项目结构。假设我们的静态库名为MyStaticLib,项目结构如下: MyStaticLib/ ├── CMakeLists.txt └── src/ ├── MyLibrary.cpp └── MyLibrary.h 1. 2. 3. 4. 5. 编写CMakeLists.txt 在CMakeLists.txt中,我们将定义如何编译我们的静态库: ...