SFML на Clion не компилирует оконную программу

Error: 
CMakeFiles\Aqu.dir/objects.a(main.cpp.obj): In function main':
C:/Users/Admin/CLionProjects/Aqu/main.cpp:5: undefined reference to sf::String::String(char const*, std::locale const&)'
C:/Users/Admin/CLionProjects/Aqu/main.cpp:5: undefined reference to sf::VideoMode::VideoMode(unsigned int, unsigned int, unsigned int)'
C:/Users/Admin/CLionProjects/Aqu/main.cpp:5: undefined reference to sf::RenderWindow::RenderWindow(sf::VideoMode, sf::String const&, unsigned int, sf::ContextSettings const&)'
C:/Users/Admin/CLionProjects/Aqu/main.cpp:6: undefined reference to sf::Window::display()'
C:/Users/Admin/CLionProjects/Aqu/main.cpp:5: undefined reference to sf::RenderWindow::~RenderWindow()'
C:/Users/Admin/CLionProjects/Aqu/main.cpp:5: undefined reference to sf::RenderWindow::~RenderWindow()'
collect2.exe: error: ld returned 1 exit status
mingw32-make.exe[3]: *** [CMakeFiles\Aqu.dir\build.make:105: Aqu.exe] Error 1
mingw32-make.exe[2]: *** [CMakeFiles\Makefile2:72: CMakeFiles/Aqu.dir/all] Error 2
mingw32-make.exe[1]: *** [CMakeFiles\Makefile2:84: CMakeFiles/Aqu.dir/rule] Error 2
mingw32-make.exe: *** [Makefile:117: Aqu] Error 2

Мои списки CmakeLists:

cmake_minimum_required(VERSION 3.12)
project(Aqu)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_EXE_LINKER_FLAGS "-static -static-libgcc")
set(SFML_STATIC_LIBRARIES TRUE)

add_executable(Aqu main.cpp)

set(SFML_ROOT "C:/Program Files/SFML-2.4.2")

set(CMAKE_MODULE_PATH "${SFML_ROOT}/cmake/Modules")
find_package(SFML 2 REQUIRED graphics network audio window system)

if (SFML_FOUND)
include_directories(${SFML_INCLUDE_DIR})
target_link_libraries(${PROJECT_NAME} ${SFML_LIBRARIES}             
${SFML_DEPENDENCIES})
endif ()

Если я хочу написать оконную программу с помощью RenderWindow, я получаю эту ошибку. Я работаю в Clion, использую MinGW.

Моя проблема в компиляции проекта. Этот код:

#include <iostream>
#include <SFML/Graphics.hpp>
#include <SFML/System.hpp>
using namespace sf;
int main(){
    RenderWindow window(VideoMode(200, 300), "11");
    window.display();
    return 0;
}

не компилируется с указанной выше ошибкой.

А был SFML нашел? Если вы очистите кеш CMake и повторно запустите CMake, какой результат вы получите?

Some programmer dude 23.12.2018 09:45

Моя проблема в компиляции проекта. Этот код: #include <iostream> #include <SFML/Graphics.hpp> #include <SFML/System.hpp> using namespace sf; int main(){ RenderWindow window(VideoMode(200, 300), "11"); window.display(); return 0; } Не выполняет компиляцию с ошибкой в ​​моем вопросе.

CacaoBoy 23.12.2018 10:17

Привет, я не уверен, но SFML должен поддерживать CMake Targets. Если это так, вы должны иметь возможность ссылаться с помощью sfml_window и т.д ... Или, если он имеет лучшую поддержку, может быть, с помощью SFML :: window ...

Noki 23.12.2018 17:48

Вам не нужна проверка SFML_FOUND, потому что ключевое слово REQUIRED в find_package вызовет ошибку, если значение SFML_FOUND неверно. Вы можете использовать message для печати содержимого SFML_LIBRARIES и SFML_DEPENDENCIES, чтобы увидеть, что они содержат. Вы уверены, что у вас есть статические библиотеки для всех зависимостей, поскольку вы используете опцию компоновщика -static?

fdk1342 23.12.2018 21:44
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
4
123
0

Другие вопросы по теме