Я не знал, как это назвать, это довольно неточно.В любом случае, вот вопрос:
Я хочу создать проект CMake в Visual Studio, который должен использовать glfw.Однако я не хочу использовать предварительно скомпилированные двоичные файлы, я хочу скомпилировать glfw вместе с моим приложением, используя файл CMakeLists.txt.
Вот мой файл CMake:
# CMakeList.txt : CMake project for BasicMandelbrotAnimation, include source and define
# project specific logic here.
#
cmake_minimum_required (VERSION 3.8)
project(BasicMandelbrotAnimation)
# Set the main file to main.cpp
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /ENTRY:mainCRTStartup")
# Include our different directories
include_directories(include)
include_directories(source)
# Include all source files in source directory
file(GLOB SOURCE source/*)
# Compile GLFW
add_subdirectory(extlibs/GLFW)
# CMake GLFW Settings
set(GLFW_BUILD_DOCS OFF CACHE BOOL "" FORCE)
set(GLFW_BUILD_TESTS OFF CACHE BOOL "" FORCE)
set(GLFW_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE)
# Add source to this project's executable.
add_executable (${PROJECT_NAME} ${SOURCE})
target_link_libraries(${PROJECT_NAME} glfw)
find_package(OpenGL REQUIRED)
target_include_directories(${PROJECT_NAME} PUBLIC ${OPENGL_INCLUDE_DIR})
target_link_libraries(${PROJECT_NAME} ${OPENGL_gl_LIBRARY})
target_link_libraries(${PROJECT_NAME} ${OPENGL_glu_LIBRARY})
# TODO: Add tests and install targets if needed.
я получаю сообщение об ошибке: «Не удается открыть включаемый файл:« unistd.h »: такого файла или каталога нет», что вызывает у меня проблемы, поскольку это файл UNIX, так как я могу адаптировать файлы для компиляции в Windows?
Спасибо.
РЕДАКТИРОВАТЬ:
Этот вопрос казался дубликатом, но на самом деле это не так.unistd.h - это только первая проблема, давайте посмотрим на проблемный файл:
#ifndef _glfw3_x11_platform_h_
#define _glfw3_x11_platform_h_
#include <unistd.h>
#include <signal.h>
#include <stdint.h>
#include <dlfcn.h>
#include <X11/Xlib.h>
#include <X11/keysym.h>
#include <X11/Xatom.h>
#include <X11/Xcursor/Xcursor.h>
// The XRandR extension provides mode setting and gamma control
#include <X11/extensions/Xrandr.h>
// The Xkb extension provides improved keyboard support
#include <X11/XKBlib.h>
// The Xinerama extension provides legacy monitor indices
#include <X11/extensions/Xinerama.h>
#if defined(_GLFW_HAS_XF86VM)
// The Xf86VidMode extension provides fallback gamma control
#include <X11/extensions/xf86vmode.h>
#endif
Здесь, во-первых, отсутствует unistdh, я заменяю его тем, что было предложено в другом посте,но теперь отсутствуют другие, в частности файлы dlfcn.h и X11, и я не знаю, как это исправить.
Спасибо.
EDIT2:
Забудьте, что находится внутри x11_platform.h.Проблема в этой строке:
target_link_libraries(${PROJECT_NAME} glfw)
при этом cmake нужен x11_platform.h, которого нет в windows.Кто-нибудь знает, как пропустить этот файл или ссылку по-другому?
Спасибо.