Вот код:Доступ ничего GLEW связанные непосредственно врезается программы в MinGW
#define GLEW_STATIC
#include "GL/glew.h"
int main() {
glewExperimental = GL_TRUE;
return 0;
}
Здесь выход:
Process finished with exit code -1073741515 (0xC0000135)
Когда линия «glewExperimental» закомментирована, программа завершается с 0 .
Вот файл CMake (я использую CLion):
cmake_minimum_required(VERSION 2.8.4)
project(untitled)
add_definitions(-DGL_GLEXT_PROTOTYPES)
add_definitions(-DWINVER=0x0602)
add_definitions(-D_WIN32_WINNT=0x0602)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
set(SOURCE_FILES main.cpp)
add_executable(untitled ${SOURCE_FILES})
target_link_libraries(untitled glfw3 glew32 opengl32 gdi32)
Я использую toolchain MinGW в Windows 8.1.
Я собирал библиотеку GLEW со следующим файлом летучей мыши:
gcc -DGLEW_NO_GLU -O2 -Wall -W -Iinclude -DGLEW_BUILD -o src/glew.o -c src/glew.c
gcc -shared -Wl,-soname,libglew32.dll -Wl,--out-implib,lib/libglew32.dll.a -o lib/glew32.dll src/glew.o -L/mingw/lib -lglu32 -lopengl32 -lgdi32 -luser32 -lkernel32
ar cr lib/libglew32.a src/glew.o
я поместил получившийся libglew32.a, libglew32.dll.a в MinGW/Lib папки.
Я разместил teh glew32.dll в папке Windows/System32.
Я поместил GL/glew.h, glxew.h, wglew.h в папку MinGW/include.
Что мне не хватает?
Я не могу понять, почему просто присвоить значение этой переменной генерирует исключение ...
Вы никогда не должны размещать в DLLs папке System32 самостоятельно. Эта папка предназначена для системных DLL. Просто разместите их в папке, в которой находится ваш исполняемый файл. – BDL
Ваш код уже определяет 'GLEW_STATIC'. Это означает, что все эти обсуждения о DLL-версии GLEW совершенно неактуальны. Вы должны были создать и связать со статической (не DLL) библиотекой GLEW. Вполне возможно, что после того, как вы это выясните, ваша проблема может исчезнуть - вам, разумеется, не придется беспокоиться о том, куда идет GLEW DLL, так как это необязательно. –