2

我正在使用 sfml 2.0。我知道我可以在论坛上提问,但我认为这与错误地链接库没有任何关系,因为我编译了一个示例项目,并且它几乎与我只是试图合并一个外部类完全相同。当我尝试编译时我得到了这个

1> 链接:致命错误 LNK1104:无法打开文件 'C:\Users\brr\documents\visual studio 2012\Projects\sfmlgame\Release\sfmlgame.exe'

我的代码如下:

主.cpp:

#include "functions.h"
int main()
{
    functions func;
    std::cout << "Testing 123, testing 123!";
    sf::CircleShape shape(100.f);
    shape.setFillColor(sf::Color::Green);
    bool running = true;
    while (running)
    {
        func.window.clear();
        func.window.draw(shape);
        func.window.display();
    }
    return 0;
}

函数.h:

#pragma once
#include <SFML/Graphics.hpp>
#include <SFML/System.hpp>
#include<SFML\Network.hpp>
#include <SFML/Window.hpp>
#include <iostream>

class functions
{
public:
    functions(void);
    ~functions(void);
    void Events();
    void Window();
    sf::RenderWindow window;
    sf::Event event;
};

函数.cpp:

#include "functions.h"
functions::functions(void)
{
}

functions::~functions(void)
{
}

void functions::Window(){
    window.setSize(sf::Vector2u(800,600));
    window.setTitle("Test");
}

void functions::Events(){
    while (window.pollEvent(event))
    {
        if (event.type == sf::Event::Closed)
            window.close();
    }
}
4

3 回答 3

6

有两种可能性。

1.您无权访问C:\Users\brr\documents\visual studio 2012\Projects\sfmlgame\Release目录。您可以通过尝试在此位置创建新文件来进行检查。

2.进程已经在使用。运行任务管理器(start->run->taskmgr),并检查是否sfmlgame.exe正在运行。如果是,则终止该进程

于 2013-03-19T06:13:04.900 回答
3
  1. 去任务管理器
  2. 转到进程选项卡
  3. 查找所需的 exe 文件
  4. 点击结束进程
  5. 再次为项目构建
于 2014-05-04T06:05:38.980 回答
2

当程序 ( ) 已经打开/运行时,通常会出现此错误sfmlgame.exe,因此 Visual Studio 无法用新编译的程序替换它。如果您已经在运行该程序,请关闭它,然后重试。

于 2013-03-19T06:11:11.533 回答