.
├── example.db3
├── include
│ ├── assertion.h
│ ├── backup.h
│ ├── column.h
│ ├── database.h
│ ├── exception.h
│ ├── executemany.h
│ ├── sqlitecpp.h
│ ├── statement.h
│ ├── transaction.h
│ ├── utils.h
│ └── variadicbind.h
├── lib
│ ├── libsqlitecpp.a
│ └── libsqlitecpp.so
├── main.cpp
├── waf
└── wscript
import os
top =
'.'out=
'build'
defoptions
(opt)
: opt.load(
'compiler_cxx'
) pathinc=os.path.join(opt.path.abspath(),
'include'
) pathlib=os.path.join(opt.path.abspath(),
'lib'
) opt.add_option(
'--include'
,action=
'store'
,default=pathinc,dest=
'include'
) opt.add_option(
'--lib'
,action=
'store'
,default=pathlib,dest=
'lib'
)def
configure
(conf)
: conf.load(
'compiler_cxx'
) conf.env.libpath=conf.options.lib
conf.env.include=conf.options.include
conf.check_cxx(lib=
'sqlite3'
,uselib_store=
'sqlite'
)def
build
(bld)
: bld.program(source=
'main.cpp'
,target=
'main'
,use=
'sqlite'
,lib=
'sqlitecpp'
,libpath=bld.env.libpath,includes=bld.env.include)
# bld.program(source='main.cpp',target='main',use='sqlite',stlib='sqlitecpp',libpath=bld.env.libpath,includes=bld.env.include)
其中bld系統方式五花八門,給的指導也很簡單,有研究這的工夫cmake都手寫完幾遍了。
順便有些個人感受:
使用use或者stlib或者lib的時候,要靈活,根據庫的路徑決定使用方式。總之,所有的輔助編譯工具呼叫的還是gcc,不過是配置和管理的複雜程度而已,對make的理解還是基礎。比如在系統路徑下的就先check一下,給其指定呼叫名字,然後後邊use一下;而自定義的庫就得用lib或者stlib了。
這是使用第三方庫的情況,要是自己編譯生成的話就不用這麼麻煩了,連路徑都不用管
CMAKE使用鏈結第三方SO庫
cmake 命名變數 set inc dir usr local include set link dir usr local lib set source files main.cpp 去 找標頭檔案 相當於gcc clang 中的 i i的大寫字母 引數 include directories ...
Qt使用第三方庫
src 3rdparty lib bin 上面的資訊在 pro 檔案中提供,以便 qmake 可以解析它並生成 makefiles。makefiles 包含編譯器和鏈結器生成輸出所需的所有資訊,無論它是可執行檔案,另乙個庫檔案等。使用 includepath 變數提供 mylibrary 的 inc...
使用第三方庫pyinstaller
pyinstaller庫是python的第三方庫 可以在cmd 中使用 pip install pyinstaller安裝 pyinstaller庫可以將python檔案打包成可以在windows linux macos 執行的檔案 並且無需安裝python環境 這樣就可以把自己寫的 傳送給小夥伴啦...