【QtCreator】QtCretor多个项目管理,动态库,静态库。

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xiaoxiao133/article/details/83714292

参考链接:

1、https://blog.csdn.net/libaineu2004/article/details/23625441
2、https://www.cnblogs.com/codingmengmeng/p/7456539.html
(注:本人测试在Ubuntu18.04 LST系统下面)

本人测试源代码链接:https://github.com/XiaoGongWei/Ubuntu16.04-llaptop-Code/tree/master/C_C++_Code
需要下载MultiyPro.zip,解压出来用QtCreator打开.pro

如何建立多个项目

如何使用QtCretor建立多个项目可以参考链接1.
首先看完流程,然后使用链接1最后一部分建立方法比较方便。

Windows 多个项目.pro

主项目:PPP_SAT.pro

# created by xiaogongwei
TEMPLATE = subdirs

SUBDIRS=GFC_SAT QtPPP_SAT # cmoplile has order

CONFIG+=ordered

动态库项目:GFC_SAT.pro

# share lib
QT       -= gui
TARGET = GFCSharelib
DEFINES += SHARELIB_LIBRARY
TEMPLATE = lib
# add next code by xiaogongwei

unix {
    target.path = /usr/lib
    INSTALLS += target
    DESTDIR = /home/david/MySoft/libraySelf
}

win32{
    DESTDIR = C:\\GFC_LIB
}

INCLUDEPATH += ../myeigen

#TEMPLATE = app
CONFIG += console c++11
CONFIG -= app_bundle
CONFIG -= qt
SOURCES +=  src/GAdams.cpp \
...........................
........

可执行程序GUI项目:

# this is GUI
QT += gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets printsupport
RC_ICONS = widget.ico
QT += core
QT += network

TARGET = QtPPP
TEMPLATE = app
INCLUDEPATH += \
../myeigen


# add libary by xiaogongwei
#DESTDIR=../bin # generate app flood
win32{
    LIBS+=C:\\GFC_LIB\\GFCSharelib.dll
}
unix{

    LIBS+=/home/david/MySoft/libraySelf/libGFCSharelib.so
}

SOURCES += \
    QWrite2File.cpp \
    QWindUp.cpp \
    QTropDelay.cpp \
  .........................................................
    .........................................................

如何在QtCreator下面Debug

在QtCreator下面编译是没有问题,但是在UBuntu下面调试的动态库目录是/lib或者/usr/lib。因此需要将生成的bin下面的".so .so.1.0.0"拷贝到/lib或者/usr/lib

或者按照链接2将/usr/local/lib加入动态库目录,然后sudo ldconfig。就可以在QtCreator下面Debug啦。

#c++
ifndef _WIN32
    #define SHARELIBSHARED_EXPORT     __attribute__((visibility("default")))
    #define SHARELIBSHARED_IMPORT     __attribute__((visibility("default")))
    #define SHARELIBSHARED_HIDDEN     __attribute__((visibility("hidden")))
#elif
    #define SHARELIBSHARED_EXPORT     __declspec(dllexport)
    #define SHARELIBSHARED_IMPORT     __declspec(dllimport)
#endif
展开阅读全文

没有更多推荐了,返回首页