没有Visual Studio,无法在PC上运行发布版本
Cannot run release build on a PC without visual studio
标题几乎说明了一切。
我目前正在学习C ,并决定尝试制作游戏。我的朋友也想学习C ,但没有安装VS,试图运行它,并且它在启动时崩溃了。
当我从外部VS上运行它时,这很好,然后我将其发送给他的邮政编码,并用所有DLL和释放构建。不确定为什么会发生这种情况,有人有任何想法吗?
这是代码,它写得不好,可读性很差(对不起)
#include "stdafx.h"
#include <SFML/Graphics.hpp>
#define _WIN32_WINNT 0x0500
#include <windows.h>
#include <iostream>
int main()
{
HWND hWnd = GetConsoleWindow();
ShowWindow(hWnd, SW_HIDE);
bool gameover(1);
sf::RenderWindow window(sf::VideoMode(240, 500), "Hangman but not very good.");
sf::Text text;
sf::Font font;
sf::Sprite sprite;
sf::Texture texture;
texture.loadFromFile("0.png");
sprite.setTexture(texture);
char uInput[11] = {0};
char displayed[11] = {0};
bool setup = false;
int charCount(0);
int iii(0);
bool correct(0);
long long wrongGuesses(0);
int wordlength(0);
long long gameoverCounter(0);
char currentGuess = 0;
bool bypass = true;
char pngC = '1';
char IOarray[] = "x.png";
bool firstSetup = true;
int correctCounter = 0;
font.loadFromFile("Xefus.ttf");
text.setColor(sf::Color::Yellow);
text.setCharacterSize(24);
text.setFont(font);
text.setString("Please enter the word to guess, press enter to stop");
while(window.isOpen())
{
sf::Event event;
while(gameover)
{
while(window.pollEvent(event))
{
if(event.type == sf::Event::Closed)
window.close();
if(event.type == sf::Event::TextEntered)
{
bypass = true;
if(iii < 10 && !setup)
if(event.text.unicode < 128 && event.text.unicode > 96)
{
uInput[iii] = static_cast<char>(event.text.unicode);
++iii;
++wordlength;
}
{
for(int i = 0; i < wordlength; ++i)
if(event.text.unicode == uInput[i] && !firstSetup)
{
displayed[i] = uInput[i];
bypass = false;
++correctCounter;
}
else if(bypass = true)
++wrongGuesses;
}
}
if(sf::Keyboard::isKeyPressed(sf::Keyboard::Return))
setup = true;
if(sf::Keyboard::isKeyPressed(sf::Keyboard::BackSpace))
{
uInput[iii] = 0;
iii -= 1;
}
}
if(!setup)
{
text.setString(uInput);
displayed[wordlength - 1] = ('*');
setup = false;
}
else
{
text.setString(displayed);
bypass = false;
if(firstSetup)
{
firstSetup = false;
gameoverCounter = 0;
wrongGuesses = 0;
correctCounter = 0;
}
if(wrongGuesses >= wordlength)
{
++gameoverCounter;
wrongGuesses = 0;
IOarray[0] = static_cast<char>(gameoverCounter + 48);
texture.loadFromFile(IOarray);
}
if(gameoverCounter >= 9)
{
return 0;
window.clear();
window.draw(sprite);
window.draw(text);
window.display();
}
if(correctCounter >= wordlength)
{
return 0;
window.clear();
window.draw(sprite);
window.draw(text);
window.display();
}
wrongGuesses = 0;
}
window.clear();
window.draw(sprite);
window.draw(text);
window.display();
}
}
}
vikash是正确的,这是缺少运行时库的情况。您需要的是在目标计算机中安装正确的重新分配软件包。
Google并下载适合您的应用程序的适当版本:
" 可视录音室的视觉C 可重新分配 yyyy "其中 yyyy 是您的Visual Studio年份。
下载后,将其安装在目标计算机上,然后运行您的应用程序。
安德鲁
这种类型的问题的原因之一是缺少DLL。因此,请确保系统上有所有依赖的DLL。
复制因库时我们犯的一个常见错误是,我们忘记复制运行任何C 应用程序所需的C 运行时间DLL。该库是使用Visual Studio安装的,这就是为什么该应用程序在您的系统上运行但不在朋友的过程中。
。C 运行时间库是:MSVCR,MSVCRT,MSVCP
您也可以使用依赖关系Walker软件检查其他任何缺失的依赖项。
希望它有助于
相关文章:
- 在运行时读取 libstdc++ 版本
- Qt版本应该在其他计算机上运行吗?
- 选择特定版本的 Visual Studio 命令行工具包,并根据特定版本的C++运行时环境编译文件
- 如何在运行时对程序创建的.sys文件设置文件版本
- Qt 应用程序中与Qt版本相关的运行时错误
- 从 qmake 运行脚本以获取内部版本号
- VS2015中内置的程序的发布版本与Qt运行然后关闭没有错误?
- Winapi可以一直使用并且可以在所有版本的Windows上运行吗?
- wxWidgets 运行时错误(不匹配版本)
- 根据运行时参数调用模板函数的不同版本
- 该程序是针对协议缓冲区运行时库的2.6.1版本编译的,该版本与已安装的版本(3.5.0)不兼容
- "此版本的 C:\TURBOC3\BIN\TCC.EXE 与您运行的 Windows 版本不兼容。
- 使用一个 C 程序运行 python 脚本(不同的 python 版本)
- 无法运行Qt C++发布版本。 'The procedure entry point could not be located'
- 在不同的 Ubuntu 版本中编译和运行 c++ 应用程序
- 调用64位C/C++DLL的C#应用程序崩溃,但运行32位版本
- C 中的运行时错误.搬迁协议版本%d
- 在 MSVC 中将某些库的目标平台版本设置为 10.x 是否使程序与在 Windows Vista/7/8 上运行不兼容
- visualstudio2008解决方案发布版本运行时致命错误
- 调试版本运行,但发布给出0xc000007b -缺失的dll