Конфликт Imgui и SOIL C++ OpenGL GLFW
Решил создать игру со своими правилами

Подключил Imgui, точнее раскомментировал подключение так как еще в начале вылезла ошибка.
Если я использую отдельно soil все норм. Imgui так же отдельно работает. но вместе выдает ошибку.

1>SOIL.lib(SOIL.obj) : warning LNK4075: не учитывается "/EDITANDCONTINUE" из-за спецификации "/OPT:ICF"
1>MSVCRT.lib(initializers.obj) : warning LNK4098: библиотека по умолчанию "msvcrtd.lib" противоречит использованию других библиотек; используйте параметр /NODEFAULTLIB:library 1>msvcrtd.lib(init.obj) : error LNK2001: неразрешенный внешний символ "__CrtDbgReport" 1>msvcrtd.lib(init.obj) : error LNK2001: неразрешенный внешний символ "__CrtDbgReportW" 1>D:\Розробка 2.0\С++\craft c++\NewCraft\Release\NewCraft.exe : fatal error LNK1120: неразрешенных внешних элементов: 2 1>Сборка проекта "NewCraft.vcxproj" завершена с ошибкой.
Внесение в С++ командную строку /NODEFAULTLIB:library не влияет ни на что
Пробовал использовать freimage, модифицировал текстур лоадер под freimage работает, но я не умею загружать прозрачные текстуры при помощи freimage да и еще там тип нужно указывать, ужас по этому хочу остаться на soil, но суть, заработало как поправить чтобы работало с soil.
Функция загрузки текстур
GLuint loadTexture(char const * path, GLint paramMin, GLint paramMax)
{
GLuint textureID = 0;
glGenTextures(1, &textureID);
int width, height, nrComponents;
unsigned char *data = SOIL_load_image(path, &width, &height, &nrComponents, 0);
if (data)
{
GLenum format;
if (nrComponents == 1)
format = GL_RED;
else if (nrComponents == 3)
format = GL_RGB;
else if (nrComponents == 4)
format = GL_RGBA;
glBindTexture(GL_TEXTURE_2D, textureID);
glTexImage2D(GL_TEXTURE_2D, 0, format, width, height, 0, format, GL_UNSIGNED_BYTE, data);
glGenerateMipmap(GL_TEXTURE_2D);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
// glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);
// glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, paramMin);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, paramMax);
SOIL_free_image_data(data);
}
else
{
std::cout << "Texture failed to load at path: " << path << std::endl;
SOIL_free_image_data(data);
}
return textureID;
}
GLuint loadTexture(char const * path)
{
return loadTexture(path, GL_LINEAR_MIPMAP_LINEAR, GL_LINEAR);
}