使一個項目編譯生成DLL庫而不生成可執行文件: 刪除main()函數; 將.PRo項目文件中的TEMPLATE = app改為TEMPLATE = lib。 然后編譯,此時生成的就是.a和.dll的文件。 在另一個項目中調用此DLL: 在項目文件中添加LIB。如添加此行:LIBS += "D:/workspace/MRP_Common/debug/common.dll" (common.dll既是上面生成的DLL);復制dll中類或方法的頭文件到該項目中,并在要調用common.dll中類或方法的文件上面include; make,在debug目錄中生成可執行文件,然后將dll復制到debug中,運行。
一. 靜態庫的生成 1. 測試目錄: lib 2. 源碼文件名: mywindow.h, mywindow.cpp, 類MyWindow繼承于QPushButton, 并將文字設置為"I'm in class MyWindow"; 3. 編寫項目文件: mywindow.pro 注意兩點: TEMPLATE = lib CONFIG += staticlib 4. 生成Makefile: qmake 5. 編譯生成靜態庫libmywindow.a make
二. 靜態庫的使用 1. 測試目錄: test 2. 將mywindow.h與libmywindow.a拷貝至test目錄下 3. 編寫main.cpp, 包含頭文件mywindow.h, 并調用MyWindow類 4. 編寫項目文件: test.pro 注意加上庫路徑與庫文件名: LIBS += -L ./ -lmywindow 5. 生成Makefile: qmake 6. 編譯: make 7. 運行: ./test
轉載自:http://blog.csdn.net/neu_sunlei/article/details/5180894
新聞熱點
疑難解答