我是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
我是否正确预期上述行为?我必须手动配置一些设置吗?