我一直在收到错误undefined reference to WinMain@16.为了节省空间,这里是指向项目中当前所有文件的链接.目前,除了创建一个窗口,填充绿色,然后在角落里绘制一个框,同时通过控制台跟踪鼠标的位置时,它不应该做很多事情.但是,它不会构建,我给出了上述错误.
我的链接库是:
我正在使用Codeblocks 13.12和g ++遵循C++ 11 ISO C++语言标准.我的电脑正在使用Windows 10以防万一.
我花了很长时间试图找到一个解决方案,似乎每个人都有一个完全不同的解决方案,到目前为止,他们都没有为我工作过.一些例子包括:
-lSDL2_image.main功能改为WinMain.我收到了同样的错误消息.Windows.h标题.这没有什么明显的.我还应该指出用户提供的答案,干杯和他.- 阿尔夫,这里可能是我正在寻找的东西,但说实话,我无法完全理解我应该做的事情.
如果我忘记包含任何相关信息,请告诉我,我会尽快这样做.提前致谢.
我试图创建一个类对象的单个实例,以便通过包含标头和调用方法的适当形式,使这个实例可以访问任何其他需要它的类getInstance().我试图通过遵循此处显示的Singleton示例来实现此目的,但由于某种原因,这个单个实例在创建后就会被销毁.
下面是头文件的副本, Window.h
#pragma once
#include <string>
#include <SDL.h>
class Window {
public:
static Window* getInstance();
static Window* getInstance(const std::string &title, int width, int height);
private:
Window(const std::string &title, int width, int height);
~Window();
bool init();
std::string _title;
int _width = 800;
int _height = 600;
SDL_Window *_window = nullptr;
static Window *_instance;
// static Window _solidInstance;
};
Run Code Online (Sandbox Code Playgroud)
下面是源文件,Window.cpp其中一些不相关的部分被删除以节省空间.
#include "Window.h"
#include <iostream>
Window* Window::instance = 0;
SDL_Renderer *Window::_renderer = nullptr;
Window::Window(const std::string &title, …Run Code Online (Sandbox Code Playgroud)