gpt4 book ai didi

c++ 不能使用其他库中的库

转载 作者:行者123 更新时间:2023-11-28 05:29:32 25 4
gpt4 key购买 nike

我添加了一些库,包括共享库和静态库,并让它们正常工作,以便我可以在桌面应用程序中使用它们。但是,当我尝试在另一个静态库中使用静态库或在另一个似乎不起作用的共享库中使用共享库时。我收到错误无法打开包含文件 mylibrary.h:没有这样的文件或目录

有办法解决吗?如果没有,构建项目/库的最佳方式是什么。库不能使用其他库似乎是非常有限的

这是我的应用程序的 .pro,我可以在其中使用他的库

QT += core
QT -= gui

CONFIG += c++11

TARGET = Test
CONFIG += console
CONFIG -= app_bundle

TEMPLATE = app

SOURCES += main.cpp

win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../SharedLib/release/ -lSharedLib
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../SharedLib/debug/ -lSharedLib

INCLUDEPATH += $$PWD/../SharedLib
DEPENDPATH += $$PWD/../SharedLib

win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../SharedLib_2/release/ -lSharedLib_2
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../SharedLib_2/debug/ -lSharedLib_2

INCLUDEPATH += $$PWD/../SharedLib_2
DEPENDPATH += $$PWD/../SharedLib_2

和应该使用 SharedLib_2 的 SharedLib 的 .pro

QT       -= gui

TARGET = SharedLib
TEMPLATE = lib

DEFINES += SHAREDLIB_LIBRARY

SOURCES += sharedlib.cpp

HEADERS += sharedlib.h\
sharedlib_global.h

unix {
target.path = /usr/lib
INSTALLS += target
}

win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../SharedLib_2/release/ -lSharedLib_2
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../SharedLib_2/debug/ -lSharedLib_2

INCLUDEPATH += $$PWD/../SharedLib_2
DEPENDPATH += $$PWD/../SharedLib_2

我通过自动添加库添加了它们,并且行是相同的......所以我希望它能工作

包括

申请

#include <QCoreApplication>

#include "sharedlib.h"
#include "sharedlib_2.h"

int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);

SharedLib sl;
SharedLib_2 sl_2;

return a.exec();
}

共享库

#include "sharedlib.h"

#include "sharedlib_2.h" // ERROR HERE

SharedLib::SharedLib()
{
}

最佳答案

您的 INCLUDEPATH 看起来没问题,所以问题可能出在旧的 Makefile 中。您应该运行 qmake 为您更新的 .pro 文件生成正确的 Makefile。

在 QT Creator 中转到 Build -> Run qmake 来执行此操作。

关于c++ 不能使用其他库中的库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39826806/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com