cmake獲取系統(tǒng)安裝路徑 如何使用cmake生成基于靜態(tài)庫的動態(tài)鏈接庫?
如何使用cmake生成基于靜態(tài)庫的動態(tài)鏈接庫?這是可以不可以做到的。CMake的library目標,有一個OBJECT模式,這個模式的library不會被archive成靜態(tài)庫,完全是一個“假的”庫,
如何使用cmake生成基于靜態(tài)庫的動態(tài)鏈接庫?
這是可以不可以做到的。CMake的library目標,有一個OBJECT
模式,這個模式的library不會被archive成靜態(tài)庫,完全是一個“假的”庫,產(chǎn)物是一堆對象文件。
聲明時加上OBJECT:
使用時都很不光,你要不使用“這個目標的對象文件”的生成表達式,裝在set_executable、assign_library
放源代碼的位置,而不是target_link_library
的位置:
當(dāng)然了這種需求并不太尋常修士,大部分情況下你是可以用支持靜態(tài)庫目標來做則是的事情,是因為動態(tài)和靜態(tài)庫只不過那就是對象文件穿越小說合集,還沒有做而且的事情。我能想到的任何可以那樣做的理由,應(yīng)該是你想把項目四等分幾個部分,而這幾個部分之間的符號依賴是一鍋粥,發(fā)到郵箱成靜態(tài)庫之后,鏈接時順序沒搞定。
按你的需求,當(dāng)然不必須這個功能,你再再添加一個靜態(tài)動態(tài)庫就足夠了:
詳情這個可以相關(guān)參考cmake的add_library
指令的文檔。
如何使用QtCreator導(dǎo)入cmake項目?
在Qt Creator中使用OpenCV庫(Windows 7系統(tǒng)下編譯器完成)編譯OpenCV2.01去下載tdm-mingw-1.908.0-4.4.1-2并安裝,安裝完畢添加bin到系統(tǒng)路徑。2按裝Opencv2.0windows版本3安裝好CMake4先打開CMake,配置源碼與目標路徑,選擇MinGW Makefiles,生成目標Makefile5進入到設(shè)置中好的目標路徑,something,轉(zhuǎn)眼間生成沉淀所有的庫配置Qt CreatorQt旗下的程序好象是需要動用qmake生成makefile文件。而qmake在解析路徑的時候肯定不能識別空格,并且是需要以保證OpenCV的安裝路徑中不能包涵空格(C:/ProgramFiles/OpenCV是再不行的)。在修改工程文件的時候(這里題中為,后綴為pro),向工程中先添加200以內(nèi)語句:INCLUDEPATHD:/Qt/OpenCV-2.0.0/include/opencvLIBSD:/Qt/OpenCV-2.0.0/lib/libcv200.dll.a/D:/Qt/OpenCV-2.0.0/lib/libcxcore200.dll.a/D:/Qt/OpenCV-2.0.0/lib/libml200.dll.a/D:/Qt/OpenCV-2.0.0/lib/libcvaux200.dll.a/D:/Qt/OpenCV-2.0.0/lib/libhighgui200.dll.a這樣,在Qt中就可以不使用Opencv2.0了先打開CMake,試看看,發(fā)現(xiàn)到?jīng)]有辦法完成configure!原因是CMAKE_MAKE_PROGRAM沒找不到,這個簡單,可以修改該項為D:/Qt/2010.04/mingw/bin(您自個盯著改)。不再Configure,什么還?彈出來一大堆什么dll一直找不到??!好吧,我就把D:/Qt/2010.04/mingw/bin放在環(huán)境變量中去。DeleteCatch以后再來第二次,這下完了,連CMAKE_MAKE_PROGRAM都不用改了,自動出現(xiàn)能找到。成功configure。接著Generate看看。