- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有一个用 QMake 构建的 Qt 项目(称为“scanner”),其中有 2 个子项目:一个称为“scannerlib”的静态库和一个使用该库的应用程序,称为“app”(目前是只是一个 main.cpp 文件)
我的“扫描仪”文件夹包含文件 scanner.pro :
QT += core testlib
QT -= gui
CONFIG += c++14
CONFIG += console
CONFIG -= app_bundle
TEMPLATE = subdirs
SUBDIRS = app scannerlib
app.depends = scannerlib
还有两个子文件夹,包含一个.pro文件和相关的源文件。扫描仪库/扫描仪库.pro :
TARGET = scannerlib
TEMPLATE = lib
CONFIG += staticlib
#I ommited SOURCES and HEADERS here for brevity
应用程序/应用程序.pro :
TARGET = app
TEMPLATE = app
SOURCES = main.cpp
INCLUDEPATH += ../scannerlib
LIBS += -L../scannerlib -lscannerlib
我成功构建了 libscanner,但我无法在“app”中链接它。
error : cannot find -lscannerlib
经查看,libscannerlib.a已经构建成功,应该没有问题。如果我删除 -lscannerlib,我会得到一个 undefined reference 。这似乎是合法的。
如果我将创建的“libscannerlib.a”从构建文件夹移动到 scanner/scannerlib,这允许 qmake 找到它,我可以获得成功的构建。
因此,问题看起来像是来自“-L../scannerlib”。我应该把什么放在那里,以便 qmake 在构建文件夹中找到 lib?
最佳答案
您可以在scannerlib
和app
项目中使用DESTDIR
。
扫描仪库/扫描仪库.pro :
TARGET = scannerlib
TEMPLATE = lib
CONFIG += staticlib
DESTDIR = ../bin
应用程序/应用程序.pro :
TARGET = app
TEMPLATE = app
SOURCES = main.cpp
DESTDIR = ../bin
INCLUDEPATH += ../scannerlib
LIBS *= -L$$OUT_PWD/$$DESTDIR -lscannerlib
关于c++ - 如何将子目录库与 QMake 链接起来?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42681858/
我正在尝试执行 vagrant up 但一直遇到此错误: ==> default: IOError: [Errno 13] Permission denied: '/usr/local/lib/pyt
我在容器 div 中有一系列动态创建的不同高度的 div。 Varying text... Varying text... Varying text... Varying text.
通过 cygwin 运行 vagrant up 时遇到以下错误。 stderr: /bin/bash: /home/vagrant/.ansible/tmp/ansible-tmp-14872260
今天要向小伙伴们介绍的是一个能够快速地把数据制作成可视化、交互页面的 Python 框架:Streamlit,分分钟让你的数据动起来! 犹记得我在做机器学习和数据分析方面的毕设时,
我是 vagrant 的新手,正在尝试将第二个磁盘添加到我正在用 vagrant 制作的虚拟机中。 我想出了如何在第一次启动虚拟机时连接磁盘,但是当我关闭机器时 然后再次备份(使用 'vagrant
我是一名优秀的程序员,十分优秀!