Я пытаюсь включить SOIL2 в свой проект C ++ OpenGL.
Пока что
- скачал библиотеку из https://github.com/SpartanJ/SOIL2
- собрал его, запустив premake 4 и make.
- скопировал каталог src / SOIL2 / в / usr / local / include
- попытался добавить libsoil2-debug.a в / usr / local / lib
- следовал различным примерам способов включения библиотек в CMake
Платформа MacOS (Каталина) Я все еще новичок в CMake, так что я почти уверен, что это где моя проблема.
В данный момент мой файл CMakeLists выглядит следующим образом:
cmake_minimum_required(VERSION 3.8)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_C_STANDARD 99)
set(This ComputerGraphicsProgramming)
project(${This} CXX C)
file(GLOB_RECURSE SOURCES src/*.cpp)
file(GLOB_RECURSE SOIL2_SOURCES /usr/local/include/SOIL2/*.c)
add_executable(${This} ${SOURCES} ${HEADERS})
include_directories(
include
lib
/usr/local/include
)
link_directories(
/usr/local/include
/usr/local/include/SOIL2
)
find_package(OpenGL REQUIRED)
find_package(glfw3 REQUIRED)
find_package(glew REQUIRED)
find_package(glm REQUIRED)
find_library(soil2-debug REQUIRED)
target_link_libraries(${This}
GLEW::GLEW
${OPENGL_LIBRARIES} glfw
soil2-debug
)
Texture.hpp, файл, в который я включаю SOIL, выглядит так:
#include <GL/glew.h>
#include <SOIL2/SOIL2.h>
#include <string>
class Texture
{
public:
Texture(std::string filename);
~Texture();
private:
unsigned int m_ID;
};
И вот мои ошибки при запуске make:
$ make
[ 9%] Linking CXX executable ComputerGraphicsProgramming
ld: library not found for -lsoil2-debug
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [ComputerGraphicsProgramming] Error 1
make[1]: *** [CMakeFiles/ComputerGraphicsProgramming.dir/all] Error 2
make: *** [all] Error 2
Любая помощь приветствуется!