我有非常基本的QT应用程序(只是创建来解释我的问题)。 所以我在这里:)我有两个文件夹,f1和f2,它们在同一级别(父级具有相同的文件夹)。在f1中,我有来自我的项目的源代码,以及f2中的另一个项目。 为了这个例子,让我们说在f1中我只有common.h和common.cpp,而在f2我有:
Test.pro
SOURCES = main.cpp
INCLUDEPATH += "..//f1//"
的main.cpp
#include <common.h>
#include <QDebug>
int main(int argc, char *argv[])
{
qDebug()<<CalculateMD5("test");
}
当我尝试构建此项目(Test.pro)时,我收到以下错误: f2 / main.cpp:7:未定义对`CalculateMD5(QString)'的引用
我做错了什么?我应该如何包含其他项目的代码? 我需要CalculateMD5函数是全局的。
在这里你可以下载整个例子(1kb): http://www.xx77abs.com/test.rar
谢谢!
答案 0 :(得分:2)
对于最简单的更改,我认为您需要将.pro文件更改为:
Test.pro
SOURCES = main.cpp ../f1/common.cpp
INCLUDEPATH += "..//f1//"
如果您还有其他代码也将在common.cpp中进行链接,那么更好的方法是在f1中生成一个生成库的.pro文件,并将其链接到其他应用程序。
但是只需手动将common.cpp添加到您的源列表中即可。