gpt4 book ai didi

C++ DevIL 函数 ilLoadImage - 程序退出,访问冲突

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:50:28 24 4
gpt4 key购买 nike

我的文件路径是这样定义的:

const char* GROUND_TEXTURE_FILE = "objects/textures/grass.jpg";

这是我用来加载图像的函数:

bool loadTexImage2D(const string &fileName, GLenum target) {
...
// this will load image data to the currently bound image
// at first, we must convert fileName, for ascii, this method is fine?
wstring file(fileName.begin(), fileName.end());

if(ilLoadImage(file.c_str()) == IL_FALSE) { //here the program falls

我的代码有什么问题?为什么调用ilLoadImage时程序就挂了?我认为 file.c_str() 是否应该作为 wchar_t * 类型正常工作?感谢您的回答:)

最佳答案

正如作者所说,您可以在不初始化库的情况下做任何事情:D

#include <iostream>
#include <IL/il.h>

int main ()
{
std::string filename = "objects/textures/grass.jpg";

ilInit();

if (!ilLoadImage(filename.c_str())) {
std::cout << ilGetError() << std::endl;
return 1;
}

std::cout << ilGetInteger(IL_IMAGE_WIDTH) << std::endl;
std::cout << ilGetInteger(IL_IMAGE_HEIGHT) << std::endl;

return 0;
}

构建:

g++ -Wall -pedantic --std=c++11 -g -o app main.cpp -lIL

关于C++ DevIL 函数 ilLoadImage - 程序退出,访问冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37074574/

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