Неопределенные символы для функции constexpr

Когда я пытаюсь скомпилировать следующий код, я получаю ошибку компоновщика:Undefined symbols for architecture x86_64: "Foo()", referenced from: _main in main.o используя LLVM 4.2.

Это происходит только тогда, когда функция помеченаconstexpr, Программа правильно компилируется и связывается, когда функция отмеченаconst, Почему объявление функцииconstexpr вызвать ошибку компоновщика?

(Я понимаю, что написание функции таким способом неt дает преимущество вычислений во время компиляции; на данный момент мне любопытно, почему функция не может связать.)

main.cpp

#include 
#include "test.hpp"

int main()
{
    int bar = Foo();
    std::cout < bar < std::endl;

    return 0;
}

Ответы на вопрос(3)

Ваш ответ на вопрос