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...