gpt4 book ai didi

c++ - Visual Studio 无法加载一堆 dll

转载 作者:行者123 更新时间:2023-11-28 05:45:27 25 4
gpt4 key购买 nike

visual Studios 真的把我的一天搞得一团糟。当我决定添加一个新的基本 block (我只有问号 block 在一次)。这个过程相当简单,只需改变一些东西并导入新的位图。我编译了程序,我立即注意到程序正在运行,好像某处有 2 秒的延迟。加载背景颜色大约需要 1.5 秒。当我从视觉学习中走出来时,这些错误出现在调试窗口中:

'bgi.exe' (Win32): Loaded 'C:\Users\Moustachespy\Source\Repos\CreateRemake\bgi\Release\bgi.exe'. Symbols loaded.
'bgi.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ntdll.dll'. Cannot find or open the PDB file.
'bgi.exe' (Win32): Loaded 'C:\Windows\SysWOW64\kernel32.dll'. Cannot find or open the PDB file.
'bgi.exe' (Win32): Loaded 'C:\Windows\SysWOW64\KernelBase.dll'. Cannot find or open the PDB file.
'bgi.exe' (Win32): Loaded 'C:\Windows\SysWOW64\user32.dll'. Cannot find or open the PDB file.
'bgi.exe' (Win32): Loaded 'C:\Windows\SysWOW64\gdi32.dll'. Cannot find or open the PDB file.
'bgi.exe' (Win32): Loaded 'C:\Windows\SysWOW64\comdlg32.dll'. Cannot find or open the PDB file.
'bgi.exe' (Win32): Loaded 'C:\Windows\SysWOW64\msvcrt.dll'. Cannot find or open the PDB file.
'bgi.exe' (Win32): Loaded 'C:\Windows\SysWOW64\combase.dll'. Cannot find or open the PDB file.
'bgi.exe' (Win32): Loaded 'C:\Windows\SysWOW64\rpcrt4.dll'. Cannot find or open the PDB file.
'bgi.exe' (Win32): Loaded 'C:\Windows\SysWOW64\sspicli.dll'. Cannot find or open the PDB file.
'bgi.exe' (Win32): Loaded 'C:\Windows\SysWOW64\cryptbase.dll'. Cannot find or open the PDB file.
'bgi.exe' (Win32): Loaded 'C:\Windows\SysWOW64\bcryptprimitives.dll'. Cannot find or open the PDB file.
'bgi.exe' (Win32): Loaded 'C:\Windows\SysWOW64\sechost.dll'. Cannot find or open the PDB file.
'bgi.exe' (Win32): Loaded 'C:\Windows\SysWOW64\SHCore.dll'. Cannot find or open the PDB file.
'bgi.exe' (Win32): Loaded 'C:\Windows\SysWOW64\shlwapi.dll'. Cannot find or open the PDB file.
'bgi.exe' (Win32): Loaded 'C:\Windows\SysWOW64\shell32.dll'. Cannot find or open the PDB file.
'bgi.exe' (Win32): Loaded 'C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.10586.0_none_811bc0006c44242b\comctl32.dll'. Cannot find or open the PDB file.
'bgi.exe' (Win32): Loaded 'C:\Windows\SysWOW64\cfgmgr32.dll'. Cannot find or open the PDB file.
'bgi.exe' (Win32): Loaded 'C:\Windows\SysWOW64\advapi32.dll'. Cannot find or open the PDB file.
'bgi.exe' (Win32): Loaded 'C:\Windows\SysWOW64\windows.storage.dll'. Cannot find or open the PDB file.
'bgi.exe' (Win32): Loaded 'C:\Windows\SysWOW64\kernel.appcore.dll'. Cannot find or open the PDB file.
'bgi.exe' (Win32): Loaded 'C:\Windows\SysWOW64\powrprof.dll'. Cannot find or open the PDB file.
'bgi.exe' (Win32): Loaded 'C:\Windows\SysWOW64\profapi.dll'. Cannot find or open the PDB file.
'bgi.exe' (Win32): Loaded 'C:\Windows\SysWOW64\FirewallAPI.dll'. Cannot find or open the PDB file.
'bgi.exe' (Win32): Loaded 'C:\Windows\SysWOW64\netapi32.dll'. Cannot find or open the PDB file.
'bgi.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ole32.dll'. Cannot find or open the PDB file.
'bgi.exe' (Win32): Loaded 'C:\Windows\SysWOW64\oleaut32.dll'. Cannot find or open the PDB file.
'bgi.exe' (Win32): Loaded 'C:\Windows\SysWOW64\davhlpr.dll'. Cannot find or open the PDB file.
'bgi.exe' (Win32): Loaded 'C:\Windows\SysWOW64\imm32.dll'. Cannot find or open the PDB file.
'bgi.exe' (Win32): Loaded 'C:\Windows\SysWOW64\fwbase.dll'. Cannot find or open the PDB file.
'bgi.exe' (Win32): Loaded 'C:\Windows\SysWOW64\uxtheme.dll'. Cannot find or open the PDB file.
'bgi.exe' (Win32): Loaded 'C:\Windows\SysWOW64\msctf.dll'. Cannot find or open the PDB file.
'bgi.exe' (Win32): Loaded 'C:\Windows\SysWOW64\dwmapi.dll'. Cannot find or open the PDB file.
'bgi.exe' (Win32): Loaded 'C:\Windows\SysWOW64\coml2.dll'. Cannot find or open the PDB file.
'bgi.exe' (Win32): Loaded 'C:\Windows\SysWOW64\asycfilt.dll'. Cannot find or open the PDB file.
The thread 0x4360 has exited with code 0 (0x0).
The thread 0x2858 has exited with code 0 (0x0).
The thread 0x40f4 has exited with code 0 (0x0).
The thread 0x1e08 has exited with code 0 (0x0).
The program '[152] bgi.exe' has exited with code 0 (0x0).

我真的不知道那里发生了什么:这是新代码:

#include "graphics.h"
//#include <Windows.h>
#include <math.h>
#include <fstream>

void drawGridOnX(int xtotal, int ytotal);
int levelcode[400][45][1];
void decodelevelAndDraw(int minx,int maxx);
void saveCurrentLevel();

void main() {
initwindow(1600, 900,"Testscreen",0,0,true,true);
int x=0,y=0,xmin=0,xmax=23,cellx,celly,cellSize=70, xtotal = 0, ytotal = 0,counter=0,blockchosen=1;
// gridposx = 0, gridposy = 0, diffx = 0, diffy = 0, distanceFromMouse = 40, titlenumberx = 0, titlenumbery = 0,

while (1) {
setbkcolor(9);
cleardevice();
ytotal = 0;
/*diffx = mousex() - gridposx;
while (gridposx < mousex()&&diffx>=70) {
gridposx += 70;

}
while (gridposx > mousex()&&diffx<=-70 + distanceFromMouse) {
gridposx =gridposx-70;

}
diffy = mousey() - gridposy;
while (gridposy < mousey() && diffy >= 70) {
gridposy += 70;

}
while (gridposy > mousey() && diffy <= -70+distanceFromMouse) {
gridposy = gridposy - 70;

}
*/
cellx = std::floor(mousex() / cellSize);
celly = std::floor(mousey() / cellSize);
blockchosen = 0;
while (ytotal < 900) {
drawGridOnX(xtotal, ytotal);
ytotal += 70;
}

if(GetAsyncKeyState(VK_RETURN)){
//saveCurrentLevel();

}
else if (GetAsyncKeyState(VK_SHIFT)) {
blockchosen = 2;


}else if (ismouseclick(WM_LBUTTONDOWN)) {
if (ismouseclick(WM_LBUTTONUP)) {

getmouseclick(WM_LBUTTONUP, x, y);
getmouseclick(WM_LBUTTONDOWN, x, y);
}
//cellx = gridposx / 70;
//celly = gridposy / 70;
cellx += xmin;

levelcode[cellx][celly][0]=blockchosen;
//printf("CLICK");
}else if (ismouseclick(WM_RBUTTONDOWN)) {
if (ismouseclick(WM_RBUTTONUP)) {

getmouseclick(WM_RBUTTONUP, x, y);
getmouseclick(WM_RBUTTONDOWN, x, y);
}
//cellx = gridposx / 70;
//celly = gridposy / 70;
cellx += xmin;
levelcode[cellx][celly][0] = 0;
//printf("CLICK");
}else if (GetAsyncKeyState(0x27)) {
//printf("RIGHT\n\n\n\n");
Sleep(100);
xmin++;
xmax++;
}else if (GetAsyncKeyState(0x25)&&xmin!=0) {
//printf("RIGHT\n\n\n\n");
Sleep(100);
xmin--;
xmax--;
}
decodelevelAndDraw(xmin,xmax);
readimagefile("question_blueprint.jpg", cellx*70,celly*70, 70+cellx*70, 70+celly*70);
//settextstyle(SANS_SERIF_FONT,1);
settextstyle(SANS_SERIF_FONT, HORIZ_DIR, 1);
outtextxy(0, 0, "Press Enter to save");
//printf("gridposx:%d\tgridposy:%d\ttitlenumberx:%d\ttitlenumbery%d",gridposx,gridposy,gridposx/70,gridposy/70);
swapbuffers();

}
}


void drawGridOnX(int xtotal, int ytotal) {
while (xtotal < 1600) {
rectangle(xtotal, ytotal, 70 + xtotal, 70+ytotal);
xtotal += 70;

}


}


void decodelevelAndDraw(int minx,int maxx) {
int x = 0, y = 0;
while (y != 13) {
while (x != maxx) {
if (levelcode[x][y][0] == 1) {
//x -= minx;
readimagefile("question.jpg", x*70-minx*70, y*70, 70 + x*70-minx*70, 70 + y*70);
//printf("Block added at %d;%d", x * 70, y * 70);
}else readimagefile("grass.bmp", x * 70 - minx * 70, y * 70, 70 + x * 70 - minx * 70, 70 + y * 70);
x++;
}
x = 0;
y++;
}
}

/*
void saveCurrentLevel() {
int x = 0, y = 0, z = 0;
ofstream map;
map.open("map.txt");
while (y < 13) {


while (x < 400) {
map << levelcode[x][y][z];
}
x = 0;
y++;
map << "\n";
}
map.close();



}
*/

旧的(有效的)代码: #include "graphics.h" //#包括 #包括 #包括

void drawGridOnX(int xtotal, int ytotal);
int levelcode[400][45][1];
void decodelevelAndDraw(int minx,int maxx);
void saveCurrentLevel();

void main() {
initwindow(1600, 900,"Testscreen",0,0,true,true);
int x=0,y=0,xmin=0,xmax=23,cellx,celly,cellSize=70, xtotal = 0, ytotal = 0,counter=0;
// gridposx = 0, gridposy = 0, diffx = 0, diffy = 0, distanceFromMouse = 40, titlenumberx = 0, titlenumbery = 0,

while (1) {
setbkcolor(9);
cleardevice();
ytotal = 0;
/*diffx = mousex() - gridposx;
while (gridposx < mousex()&&diffx>=70) {
gridposx += 70;

}
while (gridposx > mousex()&&diffx<=-70 + distanceFromMouse) {
gridposx =gridposx-70;

}
diffy = mousey() - gridposy;
while (gridposy < mousey() && diffy >= 70) {
gridposy += 70;

}
while (gridposy > mousey() && diffy <= -70+distanceFromMouse) {
gridposy = gridposy - 70;

}
*/
cellx = std::floor(mousex() / cellSize);
celly = std::floor(mousey() / cellSize);
while (ytotal < 900) {
drawGridOnX(xtotal, ytotal);
ytotal += 70;
}

if(GetAsyncKeyState(VK_RETURN)){
//saveCurrentLevel();

}else if (ismouseclick(WM_LBUTTONDOWN)) {
if (ismouseclick(WM_LBUTTONUP)) {

getmouseclick(WM_LBUTTONUP, x, y);
getmouseclick(WM_LBUTTONDOWN, x, y);
}
//cellx = gridposx / 70;
//celly = gridposy / 70;
cellx += xmin;
levelcode[cellx][celly][0]=1;
//printf("CLICK");
}else if (ismouseclick(WM_RBUTTONDOWN)) {
if (ismouseclick(WM_RBUTTONUP)) {

getmouseclick(WM_RBUTTONUP, x, y);
getmouseclick(WM_RBUTTONDOWN, x, y);
}
//cellx = gridposx / 70;
//celly = gridposy / 70;
cellx += xmin;
levelcode[cellx][celly][0] = 0;
//printf("CLICK");
}else if (GetAsyncKeyState(0x27)) {
//printf("RIGHT\n\n\n\n");
Sleep(100);
xmin++;
xmax++;
}else if (GetAsyncKeyState(0x25)&&xmin!=0) {
//printf("RIGHT\n\n\n\n");
Sleep(100);
xmin--;
xmax--;
}
decodelevelAndDraw(xmin,xmax);
readimagefile("question_blueprint.jpg", cellx*70,celly*70, 70+cellx*70, 70+celly*70);
//settextstyle(SANS_SERIF_FONT,1);
settextstyle(SANS_SERIF_FONT, HORIZ_DIR, 1);
outtextxy(0, 0, "Press Enter to save");
//printf("gridposx:%d\tgridposy:%d\ttitlenumberx:%d\ttitlenumbery%d",gridposx,gridposy,gridposx/70,gridposy/70);
swapbuffers();

}
}


void drawGridOnX(int xtotal, int ytotal) {
while (xtotal < 1600) {
rectangle(xtotal, ytotal, 70 + xtotal, 70+ytotal);
xtotal += 70;

}


}


void decodelevelAndDraw(int minx,int maxx) {
int x = 0, y = 0;
while (y != 13) {
while (x != maxx) {
if (levelcode[x][y][0] == 1) {
//x -= minx;
readimagefile("question.jpg", x*70-minx*70, y*70, 70 + x*70-minx*70, 70 + y*70);
//printf("Block added at %d;%d", x * 70, y * 70);
}
x++;
}
x = 0;
y++;
}
}

/*
void saveCurrentLevel() {
int x = 0, y = 0, z = 0;
ofstream map;
map.open("map.txt");
while (y < 13) {


while (x < 400) {
map << levelcode[x][y][z];
}
x = 0;
y++;
map << "\n";
}
map.close();



}
*/

我正在使用来自该站点的 graphics.h 文件:http://winbgim.codecutter.org/是的,我绝对必须使用 graphics.h。问我老师。是的,我必须将该数组作为全局变量。很多人不喜欢那样,我也是其中之一,但它更容易合作。它不像全局 1 个阵列会伤害任何人,对吗?

这是我的整个项目文件夹的压缩包,以备不时之需:https://www.dropbox.com/s/kym5r1sggmym78f/bgi.rar?dl=0

我知道我的程序中有很多评论。他们与它没有任何关系。这些只是我使用的旧方法,现在已被新方法取代。我把它们留在那里作为备用计划。

我正在使用:Win 10VS2015社区

请帮我解决这个问题。

最佳答案

查看您的decodelevelAndDraw() 函数。

如果 levelcode map 中那个单元格有一个 1,“旧的”只绘制“question.jpg”图像。

“新的”在每个 其他单元格中绘制“grass.bmp”。这需要一些时间...

附言我不知道你的 readimagefile() 函数是做什么的;我希望它不会在您每次需要绘制时实际加载相同的 JPEG 图像。可以只预加载一次吗?

关于c++ - Visual Studio 无法加载一堆 dll,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36317965/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com