cmake編譯動態庫和靜態庫

2021-10-03 19:28:51 字數 910 閱讀 7706

cmake_minimum_required(version 2.6) 

project(hello)

#新增原始檔

aux_source_directory(./ dir_srcs)

#設定編譯引數

set(cmake_c_flags "-g -wall")

#新增標頭檔案路徑

include_directories( ./include )

#新增庫

find_library(rt rt /usr/lib64)

find_library(dl dl /usr/lib64)

find_library(math m /usr/lib64)

#link庫

link_libraries($ $ $)

#定義

add_definitions(-g3 -md -wall -dos_linux=1 -pthread -lconfig -dplat_module_devsm)

#生成動態庫和靜態庫

add_library(acc_lib_shared shared $)

add_library(acc_lib_static static $)

#將動態庫和靜態庫的名字設定

set_target_properties(acc_lib_shared properties output_name "hello")

set_target_properties(acc_lib_static properties output_name "hello")

#設定動態庫版本

set_target_properties(acc_lib_shared properties version 1.0 soversion 1)

gcc編譯動態庫和靜態庫

如果動態庫與靜態庫同時存在,未指明鏈結方式時,首先使用動態庫進行鏈結。我的 目錄 一 具體 1 include void a void b 2 lib include void a include void b 3 src include include include a.h include in...

gcc 編譯動態庫和靜態庫

cheungmine 2012 c程式編譯過程 windows7 cygwin gcc 在同乙個目錄下準備好下面3個檔案,其中3 2,3 3用來生成動態庫或靜態庫 主呼叫程式源 3 1 main.c cpp view plain copy print?main.c include include i...

gcc 編譯動態庫和靜態庫 2

在windows下動態鏈結庫是以.dll字尾的檔案,而在linux中,是以.so作字尾的檔案。動態鏈結庫的好處就是節省記憶體空間。1 linux下建立動態鏈結庫 在使用gcc編譯程式時,只需加上 shared選項即可,這樣生成的執行程式即為動態鏈結庫。例如有檔案 hello.c x.h main.c...