我有一個 C 專案,它吐出一個可執行檔案。我想將該專案轉換為我想在我的 QT C 應用程式中使用的庫。
我在撞墻。有人可以向我提供有關它的任何資訊嗎?
所以我一直在看https://wiki.qt.io/How_to_create_a_library_with_Qt_and_use_it_in_an_application#Creating_a_static_library
我創建了一個 no-qt 專案來編譯并生成一個.a檔案。這是我的 .pro 檔案
TEMPLATE = lib
CONFIG = staticlib
CONFIG -= app_bundle
CONFIG -= qt
SOURCES = \
libmnl/dhcp/dhcpclient.c \
libmnl/dhcp/dhcpmsg.c \
libmnl/dhcp/packet.c \
libmnl/attr.c \
libmnl/callback.c \
libmnl/ifutils.c \
libmnl/nlmsg.c \
libmnl/socket.c \
atc.c \
atchannel.c \
at_tok.c \
device.c \
GobiNetCM.c \
mbim-cm.c \
MPQMUX.c \
qmap_bridge_mode.c \
QMIThread.c \
QmiWwanCM.c \
udhcpc_netlink.c \
util.c
HEADERS = \
libmnl/dhcp/dhcp.h \
libmnl/dhcp/dhcpmsg.h \
libmnl/dhcp/packet.h \
libmnl/ifutils.h \
libmnl/libmnl.h \
atchannel.h \
at_tok.h \
MPQMUX.h \
QMIThread.h \
util.h
DISTFILES =
QMAKE_CFLAGS = -Wall #-s
QMAKE_LFLAGS = -lpthread -ldl -lrt
LIBS = -pthread
我的理解告訴我,我的 C 專案吐出一個可執行檔案,而不是我希望它吐出一個庫和一個頭檔案
然后我可以將它添加到我的 QT 專案中
uj5u.com熱心網友回復:
這是否有幫助:
https://wiki.qt.io/How_to_create_a_library_with_Qt_and_use_it_in_an_application
請注意,我在 Qt 專案中包含了 C 庫,并且根本不需要做任何特別的事情。我只是生成 libFOO.a,然后編輯我的 Qt 專案 .pro 檔案以添加 -L 和 -lFOO。這是一個這樣的專案的剪切和粘貼。
LIBS = -L../MyLib/lib -lMyLib
您可能還需要添加如下內容:
INCLUDEPATH = ../MyLib/src
注意這里沒有 -I。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/341853.html
