我正在使用Qt学习模型 - 视图 - 演示者(MVP)模式,并且 follow example 。我可以构建它并从build文件夹运行它,但由于错误而无法调试它:
.../glibc-2.19/sysdeps/x86_64/start.S:118: error: undefined reference to `main'
error: collect2: error: ld returned 1 exit status
我无法弄清楚出了什么问题?快速谷歌搜索带来的信息不多。 PS:我使用OpenSUSE 13.1和Qt 4.8
答案 0 :(得分:1)
您使用的subdirs
模板错误。它不应包含任何内容,但SUBDIRS
,有时CONFIG += ordered
。您的项目模型也有点复杂。你应该首先尝试一些更简单的方法,没有库和子项目。
子目录项目的好例子:How to use QMake's subdirs template?
<强>更新强>
我会解释一下。您需要在项目中进行最小的更改才能进行编译和编译。链接:
SOURCES = $$PWD/Presenter/main.cpp
WiringClone.pro
行
CONFIG += ordered
添加到WiringClone.pro
和View.pro
config \
删除WiringClone.pro
行(这是导致原始链接错误的行)WiringClone.pro
:Utilities Model View Presenter
,View.pro
:Logic GUI
但是,即使经过所有这些更改,您也必须解决无法解决的问题:您的Utilities
库取决于您的Model
库,但您的Model
取决于您的Utilities
}}。链接不起作用。不允许循环依赖。这就是为什么我建议你先松开所有的库并先写一个简单的可靠的可执行文件。