Неопределенная ссылка на включение файла из отдельного каталога - PullRequest
0 голосов
/ 11 сентября 2011

У меня очень простое приложение на 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

Спасибо !!

1 Ответ

2 голосов
/ 11 сентября 2011

Для простейшего изменения, я думаю, вам нужно изменить .pro-файл на это:

Test.pro

SOURCES = main.cpp ../f1/common.cpp
INCLUDEPATH += "..//f1//"

Если у вас есть другой код, который также будет ссылаться вcommon.cpp, тогда лучшим изменением было бы создание файла .pro в f1, который генерирует библиотеку, для связи с другими приложениями.

Но просто добавление файла common.cpp в список источников вручную должно произойтисделать трюк.

...