我在qt creator中创建了一个带有多个子目录的项目,并在beaglebone上部署/运行它。编译精细,展开精细等。
我的问题是,当我尝试调试时,我可以设置断点或进入的唯一文件是main.cpp所在的同一子目录中的那些文件。只是为了测试,我用平面文件夹结构复制了项目,可以设置断点并进入一切。
当调试器启动时,调试日志会尝试设置断点并且看似失败,因为它无法找到.cpp文件:
“没有名为projectdir / dir1 / myclass.cpp的源文件。\ n” 8045 ^ DONE,BKPT = {号码= “1”,类型= “断点”,DISP = “保持”,使能= “Y”,ADDR = “”,以待= “\” PROJECTDIR / DIR1 / myclass.cpp \” :7" ,倍= “0”,原始位置= “\” fullpathofprojectdir / DIR1 / myclass.cpp \ “:7”}
然而,它表示主要的断点:
8046 ^ done,bkpt = {number =“2”,type =“breakpoint”,disp =“keep”,enabled =“y”,addr =“0x0001831c”,func =“main(int,char **) )”,FILE = “PROJECTDIR / DIR2 / main.cpp中”,全名= “fullpathofprojectdir / DIR2 / main.cpp中”,行= “27”,线程组= [ “I1”],倍= “0”,原-location = “fullpathofprojectdir / DIR2 / main.cpp中:27”}
此外,myclass.cpp也没有显示在源文件窗格中。我该如何解决这个问题?
以下是我的* .pro文件的设置:
顶级项目文件:
TEMPLATE = subdirs
SUBDIRS += \
dir1 \
dir2
unix {
target.path = /home/debian
INSTALLS += target
}
库的项目文件(dir1,myclass.cpp等):
QT -= gui
TARGET = Common
TEMPLATE = lib
DEFINES += COMMON_LIBRARY
SOURCES += \
myclass.cpp
HEADERS += \
common_global.h \
myclass.h
unix {
target.path = /home/debian/lib
INSTALLS += target
}
CONFIG += debug
包含main的项目文件:
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = Test
TEMPLATE = app
SOURCES += \
main.cpp
win32:CONFIG(release, debug|release): LIBS += -L$$OUT_PWD/../Common/release/
-lCommon
else:win32:CONFIG(debug, debug|release): LIBS += -
L$$OUT_PWD/../Common/debug/ -lCommon
else:unix: LIBS += -L$$OUT_PWD/../Common/ -lCommon
INCLUDEPATH += $$PWD/../Common
DEPENDPATH += $$PWD/../Common
target.path = /home/debian
INSTALLS += target
如果我忘记提供任何其他相关数据,请告诉我。 Qt Creator版本是4.5.0,我在ubuntu 16.04的64位虚拟机上运行它,如果这是相关的。