Codelite链接器未定义参考错误

时间:2018-10-03 19:59:26

标签: c++ linux codelite

我是Codelite和C ++的新手。我正在使用Linux和g ++编译器。我建立了一个包含两个源文件的简单项目,以解决链接器错误。这些文件如下所示:

Main.cpp:

#include <iostream>

void Log(const char*);

static int Multiply (int a, int b)
{
    Log("Multiply");
    return a * b;
}

int main()
{
    std::cout << Multiply(5, 8) << std::endl;
    std::cin.get();
}

Log.cpp:

#include <iostream>

void Log(const char* message)
{
    std::cout << message << std::endl;
}

如您所见,Log.cpp只是指定一个在main中调用的函数。这两个文件都在同一目录“ src”中。到目前为止,我的所有设置几乎都是默认设置,当我尝试构建该项目时,仍然收到“未定义对Log(...)的引用。”

此外,如果我在main.cpp顶部注释掉Log函数的声明,由于调用了未声明的函数,我会期望编译错误。但是,如果我尝试编译main.cpp,则不会出错。

This is what my workspace looks like

Project settings

Compiler settings

Linker settings

我是否正确预期上述行为?我必须手动配置一些设置吗?

0 个答案:

没有答案