LNK2019 и LNK1120 с функциями во внешнем файле - PullRequest
0 голосов
/ 16 октября 2010

Я перенес некоторые функции из исходного файла в другой, так как хочу использовать их также в других файлах.Текущая структура выглядит следующим образом:

utils/extFuncs.h

#ifndef _extFuncs_h
#define _extFuncs_h
inline int someFunction (float v);
#endif

utils/extFuncs.cpp

#include "utils/extFuncs.h"
inline int someFunction (float v) {
    return 42;
}

foo/bar.h

#ifndef _bar_h
#define _bar_h
#include "utils/extFuncs.h"
class Bar {
public:
    Bar (float x);
};
#endif

foo/bar.cpp

#include "foo/bar.h"
Bar::Bar (float x) {
    int y = someFunction(x);
}

Проблема в том, что, когда я пытаюсь скомпилировать это, компоновщик жалуется и говорит, что символ someFunction не может быть решен.

Ответы [ 2 ]

2 голосов
/ 16 октября 2010

someFunction объявлено inline, поэтому в вашем заголовочном файле должно быть определено :

utils/extFuncs.h

#ifndef _extFuncs_h
#define _extFuncs_h
inline int someFunction (float v)
{
    return 42;
}
#endif
0 голосов
/ 16 октября 2010

Вы пытались добавить extFunction.h & extFunction.cpp в рабочую область вашего проекта?

...