首页 > 解决方案 > 为什么我的代码显示错误 undefined reference to `WinMain@16'?

问题描述

我想使用我在 main.cpp 中的文件 h3.cpp 上定义的函数,为此我创建了一个文件 h3.h 并在头文件中声明了该特定函数。但是我的文件 h3.cpp 没有被编译并显示错误——

未定义对“WinMain@16”的引用——

//main.cpp
#include<iostream>
#include"h3.h"

using namespace std;
int main(){
    intlog();
    log("hello");

    return 0;
}
//h3.cpp

#include<iostream>
#include"h3.h"
void log(const char* message){
    std::cout<<message<<std::endl;
}
void intlog(){
    log("world");
}
//h3.h(HEADER FILE)

#pragma once
#include<iostream>
void log(const char* message);
void intlog();

标签: c++codeblocksheader-files

解决方案


如果您使用的是 Visual Studio,请更改项目设置。

转到项目菜单,您的项目属性,链接器系统,然后通过下拉列表将子系统选项从Windows (/SUBSYSTEM:WINDOWS)更改为控制台 (/SUBSYSTEM:CONSOLE) 。

如果您使用 Code::Blocks,请更改项目/目标选项。

Goto Build Targets,默认设置Type : GUI application - 对您的项目不正确,通过下拉列表将其更改为Console application 。


推荐阅读